mirror of
https://github.com/SomboChea/ui
synced 2024-11-28 00:44:30 +07:00
chore: migrate eslint@6.6.0 (#227)
* chore: migrate to eslint6 * chore: migrate to eslint6
This commit is contained in:
parent
2a2784ba39
commit
e6b53c0479
16
package.json
16
package.json
@ -32,10 +32,10 @@
|
|||||||
"@types/request": "2.48.3",
|
"@types/request": "2.48.3",
|
||||||
"@types/validator": "10.11.3",
|
"@types/validator": "10.11.3",
|
||||||
"@types/webpack-env": "1.14.1",
|
"@types/webpack-env": "1.14.1",
|
||||||
"@typescript-eslint/parser": "2.4.0",
|
"@typescript-eslint/parser": "2.5.0",
|
||||||
"@verdaccio/babel-preset": "8.2.0",
|
"@verdaccio/babel-preset": "8.2.0",
|
||||||
"@verdaccio/commons-api": "8.2.0",
|
"@verdaccio/commons-api": "8.2.0",
|
||||||
"@verdaccio/eslint-config": "2.0.0",
|
"@verdaccio/eslint-config": "8.2.0",
|
||||||
"@verdaccio/types": "8.1.0",
|
"@verdaccio/types": "8.1.0",
|
||||||
"autosuggest-highlight": "3.1.1",
|
"autosuggest-highlight": "3.1.1",
|
||||||
"babel-loader": "8.0.6",
|
"babel-loader": "8.0.6",
|
||||||
@ -51,14 +51,14 @@
|
|||||||
"enzyme": "3.10.0",
|
"enzyme": "3.10.0",
|
||||||
"enzyme-adapter-react-16": "1.15.1",
|
"enzyme-adapter-react-16": "1.15.1",
|
||||||
"enzyme-to-json": "3.4.3",
|
"enzyme-to-json": "3.4.3",
|
||||||
"eslint": "6.5.1",
|
"eslint": "6.6.0",
|
||||||
"eslint-plugin-codeceptjs": "1.1.0",
|
"eslint-plugin-codeceptjs": "1.1.0",
|
||||||
"eslint-plugin-import": "2.18.2",
|
"eslint-plugin-import": "2.18.2",
|
||||||
"eslint-plugin-jsx-a11y": "6.2.3",
|
"eslint-plugin-jsx-a11y": "6.2.3",
|
||||||
"eslint-plugin-prettier": "3.1.0",
|
"eslint-plugin-prettier": "3.1.1",
|
||||||
"eslint-plugin-react": "7.14.3",
|
"eslint-plugin-react": "7.16.0",
|
||||||
"eslint-plugin-react-hooks": "2.0.1",
|
"eslint-plugin-react-hooks": "2.2.0",
|
||||||
"eslint-plugin-verdaccio": "2.0.0",
|
"eslint-plugin-verdaccio": "8.2.0",
|
||||||
"file-loader": "4.2.0",
|
"file-loader": "4.2.0",
|
||||||
"friendly-errors-webpack-plugin": "1.7.0",
|
"friendly-errors-webpack-plugin": "1.7.0",
|
||||||
"get-stdin": "7.0.0",
|
"get-stdin": "7.0.0",
|
||||||
@ -193,7 +193,7 @@
|
|||||||
"relative": true,
|
"relative": true,
|
||||||
"linters": {
|
"linters": {
|
||||||
"*.{js,tsx,ts}": [
|
"*.{js,tsx,ts}": [
|
||||||
"eslint .",
|
"eslint . --ext .js,.ts,.tsx",
|
||||||
"prettier --write"
|
"prettier --write"
|
||||||
],
|
],
|
||||||
"*": [
|
"*": [
|
||||||
|
@ -146,7 +146,14 @@ export default class App extends Component<{}, AppProps> {
|
|||||||
|
|
||||||
public renderLoginModal = (): ReactElement<HTMLElement> => {
|
public renderLoginModal = (): ReactElement<HTMLElement> => {
|
||||||
const { error, showLoginModal } = this.state;
|
const { error, showLoginModal } = this.state;
|
||||||
return <LoginModal error={error} onCancel={this.handleToggleLoginModal} onSubmit={this.handleDoLogin} visibility={showLoginModal} />;
|
return (
|
||||||
|
<LoginModal
|
||||||
|
error={error}
|
||||||
|
onCancel={this.handleToggleLoginModal}
|
||||||
|
onSubmit={this.handleDoLogin}
|
||||||
|
visibility={showLoginModal}
|
||||||
|
/>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
public renderContent = (): ReactElement<HTMLElement> => {
|
public renderContent = (): ReactElement<HTMLElement> => {
|
||||||
@ -167,6 +174,14 @@ export default class App extends Component<{}, AppProps> {
|
|||||||
scope,
|
scope,
|
||||||
} = this.state;
|
} = this.state;
|
||||||
|
|
||||||
return <Header logo={logoUrl} onLogout={this.handleLogout} onToggleLoginModal={this.handleToggleLoginModal} scope={scope} username={username} />;
|
return (
|
||||||
|
<Header
|
||||||
|
logo={logoUrl}
|
||||||
|
onLogout={this.handleLogout}
|
||||||
|
onToggleLoginModal={this.handleToggleLoginModal}
|
||||||
|
scope={scope}
|
||||||
|
username={username}
|
||||||
|
/>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,8 @@ export interface Action {
|
|||||||
export async function downloadHandler(link: string): Promise<void> {
|
export async function downloadHandler(link: string): Promise<void> {
|
||||||
const fileStream: Blob = await api.request(link, 'GET', {
|
const fileStream: Blob = await api.request(link, 'GET', {
|
||||||
headers: {
|
headers: {
|
||||||
['accept']: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
|
['accept']:
|
||||||
|
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
|
||||||
},
|
},
|
||||||
credentials: 'include',
|
credentials: 'include',
|
||||||
});
|
});
|
||||||
|
@ -140,7 +140,12 @@ const AutoComplete = ({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Wrapper>
|
<Wrapper>
|
||||||
<Autosuggest {...autosuggestProps} inputProps={inputProps} onSuggestionSelected={onClick} renderSuggestionsContainer={renderSuggestionsContainer} />
|
<Autosuggest
|
||||||
|
{...autosuggestProps}
|
||||||
|
inputProps={inputProps}
|
||||||
|
onSuggestionSelected={onClick}
|
||||||
|
renderSuggestionsContainer={renderSuggestionsContainer}
|
||||||
|
/>
|
||||||
</Wrapper>
|
</Wrapper>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,12 @@ export interface AvatarDeveloper {
|
|||||||
|
|
||||||
const AvatarTooltip: FC<AvatarDeveloper> = ({ name, packageName, version, avatar, email }) => {
|
const AvatarTooltip: FC<AvatarDeveloper> = ({ name, packageName, version, avatar, email }) => {
|
||||||
const avatarComponent = <Avatar aria-label={name} src={avatar} />;
|
const avatarComponent = <Avatar aria-label={name} src={avatar} />;
|
||||||
function renderLinkForMail(email: string, avatarComponent: JSX.Element, packageName: string, version: string): JSX.Element {
|
function renderLinkForMail(
|
||||||
|
email: string,
|
||||||
|
avatarComponent: JSX.Element,
|
||||||
|
packageName: string,
|
||||||
|
version: string
|
||||||
|
): JSX.Element {
|
||||||
if (!email || isEmail(email) === false) {
|
if (!email || isEmail(email) === false) {
|
||||||
return avatarComponent;
|
return avatarComponent;
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,8 @@ const Tabs = styled(MuiTabs)({
|
|||||||
marginBottom: 16,
|
marginBottom: 16,
|
||||||
});
|
});
|
||||||
|
|
||||||
const getTabIndex = (tabPosition: TabPosition): number => Object.keys(TabPosition).findIndex(position => position === String(tabPosition).toUpperCase());
|
const getTabIndex = (tabPosition: TabPosition): number =>
|
||||||
|
Object.keys(TabPosition).findIndex(position => position === String(tabPosition).toUpperCase());
|
||||||
|
|
||||||
const DetailContainerTabs: React.FC<Props> = ({ tabPosition, onChangeTabPosition }) => {
|
const DetailContainerTabs: React.FC<Props> = ({ tabPosition, onChangeTabPosition }) => {
|
||||||
const [tabPositionIndex, setTabPositionIndex] = useState(0);
|
const [tabPositionIndex, setTabPositionIndex] = useState(0);
|
||||||
@ -25,7 +26,12 @@ const DetailContainerTabs: React.FC<Props> = ({ tabPosition, onChangeTabPosition
|
|||||||
}, [tabPosition]);
|
}, [tabPosition]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tabs indicatorColor={'primary'} onChange={onChangeTabPosition} textColor={'primary'} value={tabPositionIndex} variant={'fullWidth'}>
|
<Tabs
|
||||||
|
indicatorColor={'primary'}
|
||||||
|
onChange={onChangeTabPosition}
|
||||||
|
textColor={'primary'}
|
||||||
|
value={tabPositionIndex}
|
||||||
|
variant={'fullWidth'}>
|
||||||
<Tab data-testid={'readme-tab'} id={'readme-tab'} label={TabPosition.README} />
|
<Tab data-testid={'readme-tab'} id={'readme-tab'} label={TabPosition.README} />
|
||||||
<Tab data-testid={'dependencies-tab'} id={'dependencies-tab'} label={TabPosition.DEPENDENCIES} />
|
<Tab data-testid={'dependencies-tab'} id={'dependencies-tab'} label={TabPosition.DEPENDENCIES} />
|
||||||
<Tab data-testid={'versions-tab'} id={'versions-tab'} label={TabPosition.VERSIONS} />
|
<Tab data-testid={'versions-tab'} id={'versions-tab'} label={TabPosition.VERSIONS} />
|
||||||
|
@ -14,7 +14,7 @@ import Card from '../../muiComponents/Card';
|
|||||||
|
|
||||||
import { TitleListItem, TitleListItemText, PackageDescription, PackageVersion } from './styles';
|
import { TitleListItem, TitleListItemText, PackageDescription, PackageVersion } from './styles';
|
||||||
|
|
||||||
const renderLatestDescription = (description, version, isLatest: boolean = true): JSX.Element => {
|
const renderLatestDescription = (description, version, isLatest = true): JSX.Element => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PackageDescription>{description}</PackageDescription>
|
<PackageDescription>{description}</PackageDescription>
|
||||||
@ -42,7 +42,10 @@ const renderTitle = (packageName, packageVersion, packageMeta): JSX.Element => {
|
|||||||
return (
|
return (
|
||||||
<List className="detail-info">
|
<List className="detail-info">
|
||||||
<TitleListItem alignItems="flex-start" button={true}>
|
<TitleListItem alignItems="flex-start" button={true}>
|
||||||
<TitleListItemText primary={<b>{packageName}</b>} secondary={renderLatestDescription(packageMeta.latest.description, version, isLatest)} />
|
<TitleListItemText
|
||||||
|
primary={<b>{packageName}</b>}
|
||||||
|
secondary={renderLatestDescription(packageMeta.latest.description, version, isLatest)}
|
||||||
|
/>
|
||||||
</TitleListItem>
|
</TitleListItem>
|
||||||
</List>
|
</List>
|
||||||
);
|
);
|
||||||
|
@ -17,7 +17,11 @@ describe('<Header /> component with logged in state', () => {
|
|||||||
test('should load the component in logged out state', () => {
|
test('should load the component in logged out state', () => {
|
||||||
const { container, queryByTestId, getByText } = render(
|
const { container, queryByTestId, getByText } = render(
|
||||||
<Router>
|
<Router>
|
||||||
<Header onLogout={headerProps.handleLogout} onToggleLoginModal={headerProps.handleToggleLoginModal} scope={headerProps.scope} />
|
<Header
|
||||||
|
onLogout={headerProps.handleLogout}
|
||||||
|
onToggleLoginModal={headerProps.handleToggleLoginModal}
|
||||||
|
scope={headerProps.scope}
|
||||||
|
/>
|
||||||
</Router>
|
</Router>
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -46,7 +50,11 @@ describe('<Header /> component with logged in state', () => {
|
|||||||
test('should open login dialog', async () => {
|
test('should open login dialog', async () => {
|
||||||
const { getByText } = render(
|
const { getByText } = render(
|
||||||
<Router>
|
<Router>
|
||||||
<Header onLogout={headerProps.handleLogout} onToggleLoginModal={headerProps.handleToggleLoginModal} scope={headerProps.scope} />
|
<Header
|
||||||
|
onLogout={headerProps.handleLogout}
|
||||||
|
onToggleLoginModal={headerProps.handleToggleLoginModal}
|
||||||
|
scope={headerProps.scope}
|
||||||
|
/>
|
||||||
</Router>
|
</Router>
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -131,7 +139,9 @@ describe('<Header /> component with logged in state', () => {
|
|||||||
const closeBtn = await waitForElement(() => getByText('CLOSE'));
|
const closeBtn = await waitForElement(() => getByText('CLOSE'));
|
||||||
fireEvent.click(closeBtn);
|
fireEvent.click(closeBtn);
|
||||||
|
|
||||||
const hasRegistrationInfoModalBeenRemoved = await waitForElementToBeRemoved(() => queryByTestId('registryInfo--dialog'));
|
const hasRegistrationInfoModalBeenRemoved = await waitForElementToBeRemoved(() =>
|
||||||
|
queryByTestId('registryInfo--dialog')
|
||||||
|
);
|
||||||
expect(hasRegistrationInfoModalBeenRemoved).toBeTruthy();
|
expect(hasRegistrationInfoModalBeenRemoved).toBeTruthy();
|
||||||
});
|
});
|
||||||
test.todo('autocompletion should display suggestions according to the type value');
|
test.todo('autocompletion should display suggestions according to the type value');
|
||||||
|
@ -38,7 +38,12 @@ const Header: React.FC<Props> = ({ logo, withoutSearch, username, onLogout, onTo
|
|||||||
withoutSearch={withoutSearch}
|
withoutSearch={withoutSearch}
|
||||||
/>
|
/>
|
||||||
</InnerNavBar>
|
</InnerNavBar>
|
||||||
<HeaderInfoDialog isOpen={isInfoDialogOpen} onCloseDialog={() => setOpenInfoDialog(false)} registryUrl={getRegistryURL()} scope={scope} />
|
<HeaderInfoDialog
|
||||||
|
isOpen={isInfoDialogOpen}
|
||||||
|
onCloseDialog={() => setOpenInfoDialog(false)}
|
||||||
|
registryUrl={getRegistryURL()}
|
||||||
|
scope={scope}
|
||||||
|
/>
|
||||||
</NavBar>
|
</NavBar>
|
||||||
{showMobileNavBar && !withoutSearch && (
|
{showMobileNavBar && !withoutSearch && (
|
||||||
<MobileNavBar>
|
<MobileNavBar>
|
||||||
|
@ -17,9 +17,20 @@ interface Props {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* eslint-disable react/jsx-max-depth */
|
/* eslint-disable react/jsx-max-depth */
|
||||||
const HeaderMenu: React.FC<Props> = ({ onLogout, username, isMenuOpen = false, anchorEl, onLoggedInMenu, onLoggedInMenuClose }) => (
|
const HeaderMenu: React.FC<Props> = ({
|
||||||
|
onLogout,
|
||||||
|
username,
|
||||||
|
isMenuOpen = false,
|
||||||
|
anchorEl,
|
||||||
|
onLoggedInMenu,
|
||||||
|
onLoggedInMenuClose,
|
||||||
|
}) => (
|
||||||
<>
|
<>
|
||||||
<IconButton color="inherit" data-testid="header--menu-acountcircle" id="header--button-account" onClick={onLoggedInMenu}>
|
<IconButton
|
||||||
|
color="inherit"
|
||||||
|
data-testid="header--menu-acountcircle"
|
||||||
|
id="header--button-account"
|
||||||
|
onClick={onLoggedInMenu}>
|
||||||
<AccountCircle />
|
<AccountCircle />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Menu
|
<Menu
|
||||||
|
@ -15,7 +15,14 @@ interface Props {
|
|||||||
onLogout: () => void;
|
onLogout: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
const HeaderRight: React.FC<Props> = ({ withoutSearch = false, username, onToggleLogin, onLogout, onToggleMobileNav, onOpenRegistryInfoDialog }) => {
|
const HeaderRight: React.FC<Props> = ({
|
||||||
|
withoutSearch = false,
|
||||||
|
username,
|
||||||
|
onToggleLogin,
|
||||||
|
onLogout,
|
||||||
|
onToggleMobileNav,
|
||||||
|
onOpenRegistryInfoDialog,
|
||||||
|
}) => {
|
||||||
const [anchorEl, setAnchorEl] = useState();
|
const [anchorEl, setAnchorEl] = useState();
|
||||||
const [isMenuOpen, setIsMenuOpen] = useState();
|
const [isMenuOpen, setIsMenuOpen] = useState();
|
||||||
|
|
||||||
@ -47,7 +54,9 @@ const HeaderRight: React.FC<Props> = ({ withoutSearch = false, username, onToggl
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<RightSide>
|
<RightSide>
|
||||||
{!withoutSearch && <HeaderToolTip onClick={onToggleMobileNav} title={'Search packages'} tooltipIconType={'search'} />}
|
{!withoutSearch && (
|
||||||
|
<HeaderToolTip onClick={onToggleMobileNav} title={'Search packages'} tooltipIconType={'search'} />
|
||||||
|
)}
|
||||||
<HeaderToolTip title={'Documentation'} tooltipIconType={'help'} />
|
<HeaderToolTip title={'Documentation'} tooltipIconType={'help'} />
|
||||||
<HeaderToolTip onClick={onOpenRegistryInfoDialog} title={'Registry Information'} tooltipIconType={'info'} />
|
<HeaderToolTip onClick={onOpenRegistryInfoDialog} title={'Registry Information'} tooltipIconType={'info'} />
|
||||||
{username ? (
|
{username ? (
|
||||||
|
@ -18,7 +18,10 @@ const HeaderToolTipIcon: React.FC<Props> = ({ tooltipIconType, onClick }) => {
|
|||||||
switch (tooltipIconType) {
|
switch (tooltipIconType) {
|
||||||
case 'help':
|
case 'help':
|
||||||
return (
|
return (
|
||||||
<StyledExternalLink blank={true} data-testid={'header--tooltip-documentation'} to={'https://verdaccio.org/docs/en/installation'}>
|
<StyledExternalLink
|
||||||
|
blank={true}
|
||||||
|
data-testid={'header--tooltip-documentation'}
|
||||||
|
to={'https://verdaccio.org/docs/en/installation'}>
|
||||||
<IconButton color={'inherit'}>
|
<IconButton color={'inherit'}>
|
||||||
<Help />
|
<Help />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
@ -26,7 +29,11 @@ const HeaderToolTipIcon: React.FC<Props> = ({ tooltipIconType, onClick }) => {
|
|||||||
);
|
);
|
||||||
case 'info':
|
case 'info':
|
||||||
return (
|
return (
|
||||||
<IconButton color="inherit" data-testid={'header--tooltip-info'} id="header--button-registryInfo" onClick={onClick}>
|
<IconButton
|
||||||
|
color="inherit"
|
||||||
|
data-testid={'header--tooltip-info'}
|
||||||
|
id="header--button-registryInfo"
|
||||||
|
onClick={onClick}>
|
||||||
<Info />
|
<Info />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
);
|
);
|
||||||
|
@ -45,21 +45,30 @@ const InstallListItem: React.FC<Interface> = ({ packageName, dependencyManager }
|
|||||||
return (
|
return (
|
||||||
<InstallItem button={true} data-testid={'installListItem-npm'}>
|
<InstallItem button={true} data-testid={'installListItem-npm'}>
|
||||||
<PackageMangerAvatar alt="npm" src={npmLogo} />
|
<PackageMangerAvatar alt="npm" src={npmLogo} />
|
||||||
<InstallListItemText primary={<CopyToClipBoard text={`npm install ${packageName}`} />} secondary={'Install using npm'} />
|
<InstallListItemText
|
||||||
|
primary={<CopyToClipBoard text={`npm install ${packageName}`} />}
|
||||||
|
secondary={'Install using npm'}
|
||||||
|
/>
|
||||||
</InstallItem>
|
</InstallItem>
|
||||||
);
|
);
|
||||||
case DependencyManager.YARN:
|
case DependencyManager.YARN:
|
||||||
return (
|
return (
|
||||||
<InstallItem button={true} data-testid={'installListItem-yarn'}>
|
<InstallItem button={true} data-testid={'installListItem-yarn'}>
|
||||||
<PackageMangerAvatar alt="yarn" src={yarnLogo} />
|
<PackageMangerAvatar alt="yarn" src={yarnLogo} />
|
||||||
<InstallListItemText primary={<CopyToClipBoard text={`yarn add ${packageName}`} />} secondary={'Install using yarn'} />
|
<InstallListItemText
|
||||||
|
primary={<CopyToClipBoard text={`yarn add ${packageName}`} />}
|
||||||
|
secondary={'Install using yarn'}
|
||||||
|
/>
|
||||||
</InstallItem>
|
</InstallItem>
|
||||||
);
|
);
|
||||||
case DependencyManager.PNPM:
|
case DependencyManager.PNPM:
|
||||||
return (
|
return (
|
||||||
<InstallItem button={true} data-testid={'installListItem-pnpm'}>
|
<InstallItem button={true} data-testid={'installListItem-pnpm'}>
|
||||||
<PackageMangerAvatar alt={'pnpm'} src={pnpmLogo} />
|
<PackageMangerAvatar alt={'pnpm'} src={pnpmLogo} />
|
||||||
<InstallListItemText primary={<CopyToClipBoard text={`pnpm install ${packageName}`} />} secondary={'Install using pnpm'} />
|
<InstallListItemText
|
||||||
|
primary={<CopyToClipBoard text={`pnpm install ${packageName}`} />}
|
||||||
|
secondary={'Install using pnpm'}
|
||||||
|
/>
|
||||||
</InstallItem>
|
</InstallItem>
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
|
@ -172,7 +172,11 @@ export default class LoginModal extends Component<Partial<LoginModalProps>, Logi
|
|||||||
}
|
}
|
||||||
|
|
||||||
public renderLoginError({ type, title, description }: FormError): JSX.Element | false {
|
public renderLoginError({ type, title, description }: FormError): JSX.Element | false {
|
||||||
return type === 'error' && <SnackbarContent className={classes.loginError} message={this.renderMessage(title, description)} />;
|
return (
|
||||||
|
type === 'error' && (
|
||||||
|
<SnackbarContent className={classes.loginError} message={this.renderMessage(title, description)} />
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public renderNameField = () => {
|
public renderNameField = () => {
|
||||||
@ -182,8 +186,15 @@ export default class LoginModal extends Component<Partial<LoginModalProps>, Logi
|
|||||||
return (
|
return (
|
||||||
<FormControl error={!username.value && !username.pristine} fullWidth={true} required={username.required}>
|
<FormControl error={!username.value && !username.pristine} fullWidth={true} required={username.required}>
|
||||||
<InputLabel htmlFor={'username'}>{'Username'}</InputLabel>
|
<InputLabel htmlFor={'username'}>{'Username'}</InputLabel>
|
||||||
<Input id={'login--form-username'} onChange={this.handleUsernameChange} placeholder={'Your username'} value={username.value} />
|
<Input
|
||||||
{!username.value && !username.pristine && <FormHelperText id={'username-error'}>{username.helperText}</FormHelperText>}
|
id={'login--form-username'}
|
||||||
|
onChange={this.handleUsernameChange}
|
||||||
|
placeholder={'Your username'}
|
||||||
|
value={username.value}
|
||||||
|
/>
|
||||||
|
{!username.value && !username.pristine && (
|
||||||
|
<FormHelperText id={'username-error'}>{username.helperText}</FormHelperText>
|
||||||
|
)}
|
||||||
</FormControl>
|
</FormControl>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@ -201,8 +212,16 @@ export default class LoginModal extends Component<Partial<LoginModalProps>, Logi
|
|||||||
fullWidth={true}
|
fullWidth={true}
|
||||||
required={password.required}>
|
required={password.required}>
|
||||||
<InputLabel htmlFor={'password'}>{'Password'}</InputLabel>
|
<InputLabel htmlFor={'password'}>{'Password'}</InputLabel>
|
||||||
<Input id={'login--form-password'} onChange={this.handlePasswordChange} placeholder={'Your strong password'} type={'password'} value={password.value} />
|
<Input
|
||||||
{!password.value && !password.pristine && <FormHelperText id={'password-error'}>{password.helperText}</FormHelperText>}
|
id={'login--form-password'}
|
||||||
|
onChange={this.handlePasswordChange}
|
||||||
|
placeholder={'Your strong password'}
|
||||||
|
type={'password'}
|
||||||
|
value={password.value}
|
||||||
|
/>
|
||||||
|
{!password.value && !password.pristine && (
|
||||||
|
<FormHelperText id={'password-error'}>{password.helperText}</FormHelperText>
|
||||||
|
)}
|
||||||
</FormControl>
|
</FormControl>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@ -217,7 +236,11 @@ export default class LoginModal extends Component<Partial<LoginModalProps>, Logi
|
|||||||
<Button color={'inherit'} id={'login--form-cancel'} onClick={onCancel} type={'button'}>
|
<Button color={'inherit'} id={'login--form-cancel'} onClick={onCancel} type={'button'}>
|
||||||
{'Cancel'}
|
{'Cancel'}
|
||||||
</Button>
|
</Button>
|
||||||
<Button color={'inherit'} disabled={!password.value || !username.value} id={'login--form-submit'} type={'submit'}>
|
<Button
|
||||||
|
color={'inherit'}
|
||||||
|
disabled={!password.value || !username.value}
|
||||||
|
id={'login--form-submit'}
|
||||||
|
type={'submit'}>
|
||||||
{'Login'}
|
{'Login'}
|
||||||
</Button>
|
</Button>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
|
@ -32,7 +32,14 @@ const NotFound: React.FC = () => {
|
|||||||
}, [history]);
|
}, [history]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box alignItems="center" data-testid="404" display="flex" flexDirection="column" flexGrow={1} justifyContent="center" p={2}>
|
<Box
|
||||||
|
alignItems="center"
|
||||||
|
data-testid="404"
|
||||||
|
display="flex"
|
||||||
|
flexDirection="column"
|
||||||
|
flexGrow={1}
|
||||||
|
justifyContent="center"
|
||||||
|
p={2}>
|
||||||
<EmptyPackage alt="404 - Page not found" src={PackageImg} />
|
<EmptyPackage alt="404 - Page not found" src={PackageImg} />
|
||||||
<StyledHeading className="not-found-text" variant="h4">
|
<StyledHeading className="not-found-text" variant="h4">
|
||||||
{NOT_FOUND_TEXT}
|
{NOT_FOUND_TEXT}
|
||||||
|
@ -27,7 +27,14 @@ describe('<Package /> component', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const wrapper = shallow(
|
const wrapper = shallow(
|
||||||
<Package author={props.author} description={props.description} license={props.license} name={props.name} time={props.time} version={props.version} />
|
<Package
|
||||||
|
author={props.author}
|
||||||
|
description={props.description}
|
||||||
|
license={props.license}
|
||||||
|
name={props.name}
|
||||||
|
time={props.time}
|
||||||
|
version={props.version}
|
||||||
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
// integration expectations
|
// integration expectations
|
||||||
@ -65,7 +72,14 @@ describe('<Package /> component', () => {
|
|||||||
description: 'Private NPM repository',
|
description: 'Private NPM repository',
|
||||||
};
|
};
|
||||||
const wrapper = shallow(
|
const wrapper = shallow(
|
||||||
<Package author={props.author} description={props.description} license={props.license} name={props.name} time={props.time} version={props.version} />
|
<Package
|
||||||
|
author={props.author}
|
||||||
|
description={props.description}
|
||||||
|
license={props.license}
|
||||||
|
name={props.name}
|
||||||
|
time={props.time}
|
||||||
|
version={props.version}
|
||||||
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
// integration expectations
|
// integration expectations
|
||||||
|
@ -160,8 +160,13 @@ const Package: React.FC<PackageInterface> = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const renderPackageListItemText = (): React.ReactNode => (
|
const renderPackageListItemText = (): React.ReactNode => (
|
||||||
// @ts-ignore
|
<PackageListItemText
|
||||||
<PackageListItemText className="package-link" component="div" primary={renderPrimaryComponent()} secondary={renderSecondaryComponent()} />
|
className="package-link"
|
||||||
|
// @ts-ignore
|
||||||
|
component="div"
|
||||||
|
primary={renderPrimaryComponent()}
|
||||||
|
secondary={renderSecondaryComponent()}
|
||||||
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -3,6 +3,8 @@ import 'github-markdown-css';
|
|||||||
|
|
||||||
import { Props } from './types';
|
import { Props } from './types';
|
||||||
|
|
||||||
const Readme: React.FC<Props> = ({ description }) => <div className="markdown-body" dangerouslySetInnerHTML={{ __html: description }} />;
|
const Readme: React.FC<Props> = ({ description }) => (
|
||||||
|
<div className="markdown-body" dangerouslySetInnerHTML={{ __html: description }} />
|
||||||
|
);
|
||||||
|
|
||||||
export default Readme;
|
export default Readme;
|
||||||
|
@ -47,7 +47,12 @@ class RegistryInfoContent extends Component<Props, State> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Tabs indicatorColor="primary" onChange={this.handleChange} textColor="primary" value={tabPosition} variant="fullWidth">
|
<Tabs
|
||||||
|
indicatorColor="primary"
|
||||||
|
onChange={this.handleChange}
|
||||||
|
textColor="primary"
|
||||||
|
value={tabPosition}
|
||||||
|
variant="fullWidth">
|
||||||
<Tab label={NODE_MANAGER.npm} />
|
<Tab label={NODE_MANAGER.npm} />
|
||||||
<Tab label={NODE_MANAGER.pnpm} />
|
<Tab label={NODE_MANAGER.pnpm} />
|
||||||
<Tab label={NODE_MANAGER.yarn} />
|
<Tab label={NODE_MANAGER.yarn} />
|
||||||
|
@ -21,7 +21,10 @@ export interface State {
|
|||||||
export type cancelAllSearchRequests = () => void;
|
export type cancelAllSearchRequests = () => void;
|
||||||
export type handlePackagesClearRequested = () => void;
|
export type handlePackagesClearRequested = () => void;
|
||||||
export type handleSearch = (event: React.FormEvent<HTMLInputElement>, { newValue, method }: ChangeEvent) => void;
|
export type handleSearch = (event: React.FormEvent<HTMLInputElement>, { newValue, method }: ChangeEvent) => void;
|
||||||
export type handleClickSearch = (event: KeyboardEvent<HTMLInputElement>, { suggestionValue, method }: { suggestionValue: object[]; method: string }) => void;
|
export type handleClickSearch = (
|
||||||
|
event: KeyboardEvent<HTMLInputElement>,
|
||||||
|
{ suggestionValue, method }: { suggestionValue: object[]; method: string }
|
||||||
|
) => void;
|
||||||
export type handleFetchPackages = ({ value: string }) => Promise<void>;
|
export type handleFetchPackages = ({ value: string }) => Promise<void>;
|
||||||
export type onBlur = (event: React.FormEvent<HTMLInputElement>) => void;
|
export type onBlur = (event: React.FormEvent<HTMLInputElement>) => void;
|
||||||
|
|
||||||
|
@ -44,7 +44,9 @@ describe('<Version /> component', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('should not render versions', () => {
|
test('should not render versions', () => {
|
||||||
const { queryByText } = render(<ComponentToBeRendered contextValue={{ packageName: detailContextValue.packageName }} />);
|
const { queryByText } = render(
|
||||||
|
<ComponentToBeRendered contextValue={{ packageName: detailContextValue.packageName }} />
|
||||||
|
);
|
||||||
|
|
||||||
expect(queryByText(LABEL_VERSION_HISTORY)).toBeFalsy();
|
expect(queryByText(LABEL_VERSION_HISTORY)).toBeFalsy();
|
||||||
expect(queryByText(LABEL_CURRENT_TAGS)).toBeFalsy();
|
expect(queryByText(LABEL_CURRENT_TAGS)).toBeFalsy();
|
||||||
|
@ -7,7 +7,10 @@ interface Props<T extends boolean = false> extends Omit<ListItemProps, 'button'>
|
|||||||
button?: T;
|
button?: T;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ListItem = forwardRef(function ListItem<T extends boolean>({ button, ...props }: Props<T>, ref: React.Ref<ListItemRef<T>>) {
|
const ListItem = forwardRef(function ListItem<T extends boolean>(
|
||||||
|
{ button, ...props }: Props<T>,
|
||||||
|
ref: React.Ref<ListItemRef<T>>
|
||||||
|
) {
|
||||||
// it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971
|
// it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
return <MaterialUIListItem {...props} button={button as any} innerRef={ref} />;
|
return <MaterialUIListItem {...props} button={button as any} innerRef={ref} />;
|
||||||
|
@ -1,2 +1,8 @@
|
|||||||
export { DetailContext, DetailContextConsumer, DetailContextProvider, DetailContextProps, VersionPageConsumerProps } from './context';
|
export {
|
||||||
|
DetailContext,
|
||||||
|
DetailContextConsumer,
|
||||||
|
DetailContextProvider,
|
||||||
|
DetailContextProps,
|
||||||
|
VersionPageConsumerProps,
|
||||||
|
} from './context';
|
||||||
export { default } from './Version';
|
export { default } from './Version';
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-object-literal-type-assertion */
|
|
||||||
|
|
||||||
import { handleResponseType } from '../../src/utils/api';
|
import { handleResponseType } from '../../src/utils/api';
|
||||||
|
|
||||||
describe('api', () => {
|
describe('api', () => {
|
||||||
|
@ -3,11 +3,17 @@ import { PackageMetaInterface } from '../../types/packageMeta';
|
|||||||
import API from './api';
|
import API from './api';
|
||||||
|
|
||||||
export async function callReadme(packageName: string, packageVersion?: string): Promise<string | {}> {
|
export async function callReadme(packageName: string, packageVersion?: string): Promise<string | {}> {
|
||||||
return await API.request<string | {}>(`package/readme/${packageName}${packageVersion ? `?v=${packageVersion}` : ''}`, 'GET');
|
return await API.request<string | {}>(
|
||||||
|
`package/readme/${packageName}${packageVersion ? `?v=${packageVersion}` : ''}`,
|
||||||
|
'GET'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function callDetailPage(packageName: string, packageVersion?: string): Promise<PackageMetaInterface | {}> {
|
export async function callDetailPage(packageName: string, packageVersion?: string): Promise<PackageMetaInterface | {}> {
|
||||||
const packageMeta = await API.request<PackageMetaInterface | {}>(`sidebar/${packageName}${packageVersion ? `?v=${packageVersion}` : ''}`, 'GET');
|
const packageMeta = await API.request<PackageMetaInterface | {}>(
|
||||||
|
`sidebar/${packageName}${packageVersion ? `?v=${packageVersion}` : ''}`,
|
||||||
|
'GET'
|
||||||
|
);
|
||||||
|
|
||||||
return packageMeta;
|
return packageMeta;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import { SyntheticEvent } from 'react';
|
import { SyntheticEvent } from 'react';
|
||||||
|
|
||||||
export const copyToClipBoardUtility = (str: string): ((e: SyntheticEvent<HTMLElement>) => void) => (event: SyntheticEvent<HTMLElement>): void => {
|
export const copyToClipBoardUtility = (str: string): ((e: SyntheticEvent<HTMLElement>) => void) => (
|
||||||
|
event: SyntheticEvent<HTMLElement>
|
||||||
|
): void => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
const node = document.createElement('div');
|
const node = document.createElement('div');
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
export default function fileSizeSI(a: number, b?: typeof Math, c?: (p: number) => number, d?: number, e?: number): string {
|
export default function fileSizeSI(
|
||||||
return ((b = Math), (c = b.log), (d = 1e3), (e = (c(a) / c(d)) | 0), a / b.pow(d, e)).toFixed(2) + ' ' + (e ? 'kMGTPEZY'[--e] + 'B' : 'Bytes');
|
a: number,
|
||||||
|
b?: typeof Math,
|
||||||
|
c?: (p: number) => number,
|
||||||
|
d?: number,
|
||||||
|
e?: number
|
||||||
|
): string {
|
||||||
|
return (
|
||||||
|
((b = Math), (c = b.log), (d = 1e3), (e = (c(a) / c(d)) | 0), a / b.pow(d, e)).toFixed(2) +
|
||||||
|
' ' +
|
||||||
|
(e ? 'kMGTPEZY'[--e] + 'B' : 'Bytes')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,11 @@ describe('isTokenExpire', (): void => {
|
|||||||
|
|
||||||
test('isTokenExpire - token is not a valid json token', (): void => {
|
test('isTokenExpire - token is not a valid json token', (): void => {
|
||||||
const token = generateInvalidToken();
|
const token = generateInvalidToken();
|
||||||
const result = ['Invalid token:', new SyntaxError('Unexpected token i in JSON at position 0'), 'xxxxxx.aW52YWxpZHRva2Vu.xxxxxx'];
|
const result = [
|
||||||
|
'Invalid token:',
|
||||||
|
new SyntaxError('Unexpected token i in JSON at position 0'),
|
||||||
|
'xxxxxx.aW52YWxpZHRva2Vu.xxxxxx',
|
||||||
|
];
|
||||||
expect(isTokenExpire(token)).toBeTruthy();
|
expect(isTokenExpire(token)).toBeTruthy();
|
||||||
expect(console.error).toHaveBeenCalledWith(...result);
|
expect(console.error).toHaveBeenCalledWith(...result);
|
||||||
});
|
});
|
||||||
@ -66,7 +70,7 @@ describe('makeLogin', (): void => {
|
|||||||
|
|
||||||
test('makeLogin - should login successfully', async (): Promise<void> => {
|
test('makeLogin - should login successfully', async (): Promise<void> => {
|
||||||
const { username, password } = { username: 'sam', password: '1234' };
|
const { username, password } = { username: 'sam', password: '1234' };
|
||||||
const result = { token: 'TEST_TOKEN', username: 'sam' };
|
const result = { token: 'TEST_TOKEN', username: 'sam' }; // pragma: allowlist secret
|
||||||
const login = await makeLogin(username, password);
|
const login = await makeLogin(username, password);
|
||||||
expect(login).toEqual(result);
|
expect(login).toEqual(result);
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
import { packageMeta } from '../../jest/unit/components/store/packageMeta';
|
import { packageMeta } from '../../jest/unit/components/store/packageMeta';
|
||||||
|
|
||||||
import { formatLicense, formatRepository, formatDate, formatDateDistance, getLastUpdatedPackageTime, getRecentReleases } from './package';
|
import {
|
||||||
|
formatLicense,
|
||||||
|
formatRepository,
|
||||||
|
formatDate,
|
||||||
|
formatDateDistance,
|
||||||
|
getLastUpdatedPackageTime,
|
||||||
|
getRecentReleases,
|
||||||
|
} from './package';
|
||||||
|
|
||||||
describe('formatLicense', (): void => {
|
describe('formatLicense', (): void => {
|
||||||
test('should check license field different values', (): void => {
|
test('should check license field different values', (): void => {
|
||||||
|
@ -13,7 +13,9 @@ describe('/ (Verdaccio Page)', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const evaluateSignIn = async function() {
|
const evaluateSignIn = async function() {
|
||||||
const text = await page.evaluate(() => document.querySelector('button[data-testid="header--button-login"]').textContent);
|
const text = await page.evaluate(
|
||||||
|
() => document.querySelector('button[data-testid="header--button-login"]').textContent
|
||||||
|
);
|
||||||
|
|
||||||
expect(text).toMatch('Login');
|
expect(text).toMatch('Login');
|
||||||
};
|
};
|
||||||
|
304
yarn.lock
304
yarn.lock
@ -1854,24 +1854,16 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/yargs-parser" "*"
|
"@types/yargs-parser" "*"
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@1.12.0":
|
"@typescript-eslint/eslint-plugin@2.4.0":
|
||||||
version "1.12.0"
|
version "2.4.0"
|
||||||
resolved "https://registry.verdaccio.org/@typescript-eslint%2feslint-plugin/-/eslint-plugin-1.12.0.tgz#96b4e08b5f998a198b8414508b1a289f9e8c549a"
|
resolved "https://registry.verdaccio.org/@typescript-eslint%2feslint-plugin/-/eslint-plugin-2.4.0.tgz#aaf6b542ff75b78f4191a8bf1c519184817caa24"
|
||||||
integrity sha512-J/ZTZF+pLNqjXBGNfq5fahsoJ4vJOkYbitWPavA05IrZ7BXUaf4XWlhUB/ic1lpOGTRpLWF+PLAePjiHp6dz8g==
|
integrity sha512-se/YCk7PUoyMwSm/u3Ii9E+BgDUc736uw/lXCDpXEqRgPGsoBTtS8Mntue/vZX8EGyzGplYuePBuVyhZDM9EpQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/experimental-utils" "1.12.0"
|
"@typescript-eslint/experimental-utils" "2.4.0"
|
||||||
eslint-utils "^1.3.1"
|
eslint-utils "^1.4.2"
|
||||||
functional-red-black-tree "^1.0.1"
|
functional-red-black-tree "^1.0.1"
|
||||||
regexpp "^2.0.1"
|
regexpp "^2.0.1"
|
||||||
tsutils "^3.7.0"
|
tsutils "^3.17.1"
|
||||||
|
|
||||||
"@typescript-eslint/experimental-utils@1.12.0":
|
|
||||||
version "1.12.0"
|
|
||||||
resolved "https://registry.verdaccio.org/@typescript-eslint%2fexperimental-utils/-/experimental-utils-1.12.0.tgz#98417ee2e0c6fe8d1e50d934a6535d9c0f4277b6"
|
|
||||||
integrity sha512-s0soOTMJloytr9GbPteMLNiO2HvJ+qgQkRNplABXiVw6vq7uQRvidkby64Gqt/nA7pys74HksHwRULaB/QRVyw==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/typescript-estree" "1.12.0"
|
|
||||||
eslint-scope "^4.0.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/experimental-utils@2.4.0":
|
"@typescript-eslint/experimental-utils@2.4.0":
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
@ -1882,15 +1874,23 @@
|
|||||||
"@typescript-eslint/typescript-estree" "2.4.0"
|
"@typescript-eslint/typescript-estree" "2.4.0"
|
||||||
eslint-scope "^5.0.0"
|
eslint-scope "^5.0.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@1.12.0":
|
"@typescript-eslint/experimental-utils@2.5.0":
|
||||||
version "1.12.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.verdaccio.org/@typescript-eslint%2fparser/-/parser-1.12.0.tgz#9965895ec4745578185965d63f21510f93a3f35a"
|
resolved "https://registry.verdaccio.org/@typescript-eslint%2fexperimental-utils/-/experimental-utils-2.5.0.tgz#383a97ded9a7940e5053449f6d73995e782b8fb1"
|
||||||
integrity sha512-0uzbaa9ZLCA5yMWJywnJJ7YVENKGWVUhJDV5UrMoldC5HoI54W5kkdPhTfmtFKpPFp93MIwmJj0/61ztvmz5Dw==
|
integrity sha512-UgcQGE0GKJVChyRuN1CWqDW8Pnu7+mVst0aWrhiyuUD1J9c+h8woBdT4XddCvhcXDodTDVIfE3DzGHVjp7tUeQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/eslint-visitor-keys" "^1.0.0"
|
"@types/json-schema" "^7.0.3"
|
||||||
"@typescript-eslint/experimental-utils" "1.12.0"
|
"@typescript-eslint/typescript-estree" "2.5.0"
|
||||||
"@typescript-eslint/typescript-estree" "1.12.0"
|
eslint-scope "^5.0.0"
|
||||||
eslint-visitor-keys "^1.0.0"
|
|
||||||
|
"@typescript-eslint/experimental-utils@^1.13.0":
|
||||||
|
version "1.13.0"
|
||||||
|
resolved "https://registry.verdaccio.org/@typescript-eslint%2fexperimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e"
|
||||||
|
integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==
|
||||||
|
dependencies:
|
||||||
|
"@types/json-schema" "^7.0.3"
|
||||||
|
"@typescript-eslint/typescript-estree" "1.13.0"
|
||||||
|
eslint-scope "^4.0.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@2.4.0":
|
"@typescript-eslint/parser@2.4.0":
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
@ -1902,10 +1902,20 @@
|
|||||||
"@typescript-eslint/typescript-estree" "2.4.0"
|
"@typescript-eslint/typescript-estree" "2.4.0"
|
||||||
eslint-visitor-keys "^1.1.0"
|
eslint-visitor-keys "^1.1.0"
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@1.12.0":
|
"@typescript-eslint/parser@2.5.0":
|
||||||
version "1.12.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.verdaccio.org/@typescript-eslint%2ftypescript-estree/-/typescript-estree-1.12.0.tgz#d8dd0a7cffb5e3c0c3e98714042d83e316dfc9a9"
|
resolved "https://registry.verdaccio.org/@typescript-eslint%2fparser/-/parser-2.5.0.tgz#858030ddd808fbbe88e03f42e5971efaccb8218a"
|
||||||
integrity sha512-nwN6yy//XcVhFs0ZyU+teJHB8tbCm7AIA8mu6E2r5hu6MajwYBY3Uwop7+rPZWUN/IUOHpL8C+iUPMDVYUU3og==
|
integrity sha512-9UBMiAwIDWSl79UyogaBdj3hidzv6exjKUx60OuZuFnJf56tq/UMpdPcX09YmGqE8f4AnAueYtBxV8IcAT3jdQ==
|
||||||
|
dependencies:
|
||||||
|
"@types/eslint-visitor-keys" "^1.0.0"
|
||||||
|
"@typescript-eslint/experimental-utils" "2.5.0"
|
||||||
|
"@typescript-eslint/typescript-estree" "2.5.0"
|
||||||
|
eslint-visitor-keys "^1.1.0"
|
||||||
|
|
||||||
|
"@typescript-eslint/typescript-estree@1.13.0":
|
||||||
|
version "1.13.0"
|
||||||
|
resolved "https://registry.verdaccio.org/@typescript-eslint%2ftypescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e"
|
||||||
|
integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash.unescape "4.0.1"
|
lodash.unescape "4.0.1"
|
||||||
semver "5.5.0"
|
semver "5.5.0"
|
||||||
@ -1921,6 +1931,17 @@
|
|||||||
lodash.unescape "4.0.1"
|
lodash.unescape "4.0.1"
|
||||||
semver "^6.3.0"
|
semver "^6.3.0"
|
||||||
|
|
||||||
|
"@typescript-eslint/typescript-estree@2.5.0":
|
||||||
|
version "2.5.0"
|
||||||
|
resolved "https://registry.verdaccio.org/@typescript-eslint%2ftypescript-estree/-/typescript-estree-2.5.0.tgz#40ada624d6217ef092a3a79ed30d947ad4f212ce"
|
||||||
|
integrity sha512-AXURyF8NcA3IsnbjNX1v9qbwa0dDoY9YPcKYR2utvMHoUcu3636zrz0gRWtVAyxbPCkhyKuGg6WZIyi2Fc79CA==
|
||||||
|
dependencies:
|
||||||
|
debug "^4.1.1"
|
||||||
|
glob "^7.1.4"
|
||||||
|
is-glob "^4.0.1"
|
||||||
|
lodash.unescape "4.0.1"
|
||||||
|
semver "^6.3.0"
|
||||||
|
|
||||||
"@verdaccio/babel-preset@8.2.0":
|
"@verdaccio/babel-preset@8.2.0":
|
||||||
version "8.2.0"
|
version "8.2.0"
|
||||||
resolved "https://registry.verdaccio.org/@verdaccio%2fbabel-preset/-/babel-preset-8.2.0.tgz#6ebbf8d52fdd7223a341bb188f2895816ca040a2"
|
resolved "https://registry.verdaccio.org/@verdaccio%2fbabel-preset/-/babel-preset-8.2.0.tgz#6ebbf8d52fdd7223a341bb188f2895816ca040a2"
|
||||||
@ -1961,22 +1982,21 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
http-errors "1.7.3"
|
http-errors "1.7.3"
|
||||||
|
|
||||||
"@verdaccio/eslint-config@2.0.0":
|
"@verdaccio/eslint-config@8.2.0":
|
||||||
version "2.0.0"
|
version "8.2.0"
|
||||||
resolved "https://registry.verdaccio.org/@verdaccio%2feslint-config/-/eslint-config-2.0.0.tgz#134e11c4c9a205b0685c0a88d861ef347183680a"
|
resolved "https://registry.verdaccio.org/@verdaccio%2feslint-config/-/eslint-config-8.2.0.tgz#986a7130ccf0ba8f18810e7ce7cf41dfd85c10df"
|
||||||
integrity sha512-LkDFO//MdVpprCzjxIqXul0MSWSMXx1yAkXx1YuL9Eu3kuPF2GmFdXzMtVjf8rijoiqRNafrkGcGHsQyyIsBFQ==
|
integrity sha512-Eimva4xNsCX5205iw/uJ5zzn1zn2G322IZQNVzM0kvXwk/7uDfXarbNczhnvCDWNyeUpLBa2/npKXX5ROoOi4g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/eslint-plugin" "1.12.0"
|
"@typescript-eslint/eslint-plugin" "2.4.0"
|
||||||
"@typescript-eslint/parser" "1.12.0"
|
"@typescript-eslint/parser" "2.4.0"
|
||||||
babel-eslint "10.0.2"
|
babel-eslint "10.0.3"
|
||||||
eslint-config-google "0.13.0"
|
eslint-config-google "0.14.0"
|
||||||
eslint-config-prettier "6.0.0"
|
eslint-config-prettier "6.4.0"
|
||||||
eslint-plugin-babel "5.3.0"
|
eslint-plugin-babel "5.3.0"
|
||||||
eslint-plugin-import "2.18.0"
|
eslint-plugin-import "2.18.2"
|
||||||
eslint-plugin-jest "22.10.0"
|
eslint-plugin-jest "22.19.0"
|
||||||
eslint-plugin-prettier "3.1.0"
|
eslint-plugin-prettier "3.1.1"
|
||||||
eslint-plugin-verdaccio "^2.0.0"
|
tsutils "3.17.1"
|
||||||
tsutils "3.14.0"
|
|
||||||
|
|
||||||
"@verdaccio/file-locking@1.0.0":
|
"@verdaccio/file-locking@1.0.0":
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -2249,10 +2269,10 @@ acorn-globals@^4.1.0, acorn-globals@^4.3.2:
|
|||||||
acorn "^6.0.1"
|
acorn "^6.0.1"
|
||||||
acorn-walk "^6.0.1"
|
acorn-walk "^6.0.1"
|
||||||
|
|
||||||
acorn-jsx@^5.0.2:
|
acorn-jsx@^5.1.0:
|
||||||
version "5.0.2"
|
version "5.1.0"
|
||||||
resolved "https://registry.verdaccio.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f"
|
resolved "https://registry.verdaccio.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384"
|
||||||
integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==
|
integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==
|
||||||
|
|
||||||
acorn-walk@^6.0.1, acorn-walk@^6.1.1:
|
acorn-walk@^6.0.1, acorn-walk@^6.1.1:
|
||||||
version "6.2.0"
|
version "6.2.0"
|
||||||
@ -2269,7 +2289,7 @@ acorn@^6.0.1, acorn@^6.0.7, acorn@^6.2.1:
|
|||||||
resolved "https://registry.verdaccio.org/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e"
|
resolved "https://registry.verdaccio.org/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e"
|
||||||
integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==
|
integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==
|
||||||
|
|
||||||
acorn@^7.0.0, acorn@^7.1.0:
|
acorn@^7.1.0:
|
||||||
version "7.1.0"
|
version "7.1.0"
|
||||||
resolved "https://registry.verdaccio.org/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c"
|
resolved "https://registry.verdaccio.org/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c"
|
||||||
integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==
|
integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==
|
||||||
@ -2370,6 +2390,13 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
|
|||||||
resolved "https://registry.verdaccio.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
|
resolved "https://registry.verdaccio.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
|
||||||
integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
|
integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
|
||||||
|
|
||||||
|
ansi-escapes@^4.2.1:
|
||||||
|
version "4.2.1"
|
||||||
|
resolved "https://registry.verdaccio.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228"
|
||||||
|
integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==
|
||||||
|
dependencies:
|
||||||
|
type-fest "^0.5.2"
|
||||||
|
|
||||||
ansi-html@0.0.7:
|
ansi-html@0.0.7:
|
||||||
version "0.0.7"
|
version "0.0.7"
|
||||||
resolved "https://registry.verdaccio.org/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
|
resolved "https://registry.verdaccio.org/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
|
||||||
@ -2701,18 +2728,6 @@ babel-core@7.0.0-bridge.0:
|
|||||||
resolved "https://registry.verdaccio.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
|
resolved "https://registry.verdaccio.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
|
||||||
integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
|
integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
|
||||||
|
|
||||||
babel-eslint@10.0.2:
|
|
||||||
version "10.0.2"
|
|
||||||
resolved "https://registry.verdaccio.org/babel-eslint/-/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456"
|
|
||||||
integrity sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q==
|
|
||||||
dependencies:
|
|
||||||
"@babel/code-frame" "^7.0.0"
|
|
||||||
"@babel/parser" "^7.0.0"
|
|
||||||
"@babel/traverse" "^7.0.0"
|
|
||||||
"@babel/types" "^7.0.0"
|
|
||||||
eslint-scope "3.7.1"
|
|
||||||
eslint-visitor-keys "^1.0.0"
|
|
||||||
|
|
||||||
babel-eslint@10.0.3:
|
babel-eslint@10.0.3:
|
||||||
version "10.0.3"
|
version "10.0.3"
|
||||||
resolved "https://registry.verdaccio.org/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a"
|
resolved "https://registry.verdaccio.org/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a"
|
||||||
@ -5284,15 +5299,15 @@ escodegen@^1.11.1, escodegen@^1.9.1:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
source-map "~0.6.1"
|
source-map "~0.6.1"
|
||||||
|
|
||||||
eslint-config-google@0.13.0:
|
eslint-config-google@0.14.0:
|
||||||
version "0.13.0"
|
version "0.14.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint-config-google/-/eslint-config-google-0.13.0.tgz#e277d16d2cb25c1ffd3fd13fb0035ad7421382fe"
|
resolved "https://registry.verdaccio.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz#4f5f8759ba6e11b424294a219dbfa18c508bcc1a"
|
||||||
integrity sha512-ELgMdOIpn0CFdsQS+FuxO+Ttu4p+aLaXHv9wA9yVnzqlUGV7oN/eRRnJekk7TCur6Cu2FXX0fqfIXRBaM14lpQ==
|
integrity sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==
|
||||||
|
|
||||||
eslint-config-prettier@6.0.0:
|
eslint-config-prettier@6.4.0:
|
||||||
version "6.0.0"
|
version "6.4.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz#f429a53bde9fc7660e6353910fd996d6284d3c25"
|
resolved "https://registry.verdaccio.org/eslint-config-prettier/-/eslint-config-prettier-6.4.0.tgz#0a04f147e31d33c6c161b2dd0971418ac52d0477"
|
||||||
integrity sha512-vDrcCFE3+2ixNT5H83g28bO/uYAwibJxerXPj+E7op4qzBCsAV36QfvdAyVOoNxKAH2Os/e01T/2x++V0LPukA==
|
integrity sha512-YrKucoFdc7SEko5Sxe4r6ixqXPDP1tunGw91POeZTTRKItf/AMFYt/YLEQtZMkR2LVpAVhcAcZgcWpm1oGPW7w==
|
||||||
dependencies:
|
dependencies:
|
||||||
get-stdin "^6.0.0"
|
get-stdin "^6.0.0"
|
||||||
|
|
||||||
@ -5326,23 +5341,6 @@ eslint-plugin-codeceptjs@1.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
requireindex "~1.1.0"
|
requireindex "~1.1.0"
|
||||||
|
|
||||||
eslint-plugin-import@2.18.0:
|
|
||||||
version "2.18.0"
|
|
||||||
resolved "https://registry.verdaccio.org/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678"
|
|
||||||
integrity sha512-PZpAEC4gj/6DEMMoU2Df01C5c50r7zdGIN52Yfi7CvvWaYssG7Jt5R9nFG5gmqodxNOz9vQS87xk6Izdtpdrig==
|
|
||||||
dependencies:
|
|
||||||
array-includes "^3.0.3"
|
|
||||||
contains-path "^0.1.0"
|
|
||||||
debug "^2.6.9"
|
|
||||||
doctrine "1.5.0"
|
|
||||||
eslint-import-resolver-node "^0.3.2"
|
|
||||||
eslint-module-utils "^2.4.0"
|
|
||||||
has "^1.0.3"
|
|
||||||
lodash "^4.17.11"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
read-pkg-up "^2.0.0"
|
|
||||||
resolve "^1.11.0"
|
|
||||||
|
|
||||||
eslint-plugin-import@2.18.2:
|
eslint-plugin-import@2.18.2:
|
||||||
version "2.18.2"
|
version "2.18.2"
|
||||||
resolved "https://registry.verdaccio.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6"
|
resolved "https://registry.verdaccio.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6"
|
||||||
@ -5360,10 +5358,12 @@ eslint-plugin-import@2.18.2:
|
|||||||
read-pkg-up "^2.0.0"
|
read-pkg-up "^2.0.0"
|
||||||
resolve "^1.11.0"
|
resolve "^1.11.0"
|
||||||
|
|
||||||
eslint-plugin-jest@22.10.0:
|
eslint-plugin-jest@22.19.0:
|
||||||
version "22.10.0"
|
version "22.19.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint-plugin-jest/-/eslint-plugin-jest-22.10.0.tgz#a22be77f4dc692808b88ead0059620bda299a97d"
|
resolved "https://registry.verdaccio.org/eslint-plugin-jest/-/eslint-plugin-jest-22.19.0.tgz#0cf90946a8c927d40a2c64458c89bb635d0f2a0b"
|
||||||
integrity sha512-iBEWJn60Z5bctcjacymUnOQ3xN3gdvGOy3tDHpalAa99r4+jwH0CvICsIIHBNXNlJxuklkbx+wxr49tXk6M0tg==
|
integrity sha512-4zUc3rh36ds0SXdl2LywT4YWA3zRe8sfLhz8bPp8qQPIKvynTTkNGwmSCMpl5d9QiZE2JxSinGF+WD8yU+O0Lg==
|
||||||
|
dependencies:
|
||||||
|
"@typescript-eslint/experimental-utils" "^1.13.0"
|
||||||
|
|
||||||
eslint-plugin-jsx-a11y@6.2.3:
|
eslint-plugin-jsx-a11y@6.2.3:
|
||||||
version "6.2.3"
|
version "6.2.3"
|
||||||
@ -5380,37 +5380,37 @@ eslint-plugin-jsx-a11y@6.2.3:
|
|||||||
has "^1.0.3"
|
has "^1.0.3"
|
||||||
jsx-ast-utils "^2.2.1"
|
jsx-ast-utils "^2.2.1"
|
||||||
|
|
||||||
eslint-plugin-prettier@3.1.0:
|
eslint-plugin-prettier@3.1.1:
|
||||||
version "3.1.0"
|
version "3.1.1"
|
||||||
resolved "https://registry.verdaccio.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d"
|
resolved "https://registry.verdaccio.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba"
|
||||||
integrity sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA==
|
integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA==
|
||||||
dependencies:
|
dependencies:
|
||||||
prettier-linter-helpers "^1.0.0"
|
prettier-linter-helpers "^1.0.0"
|
||||||
|
|
||||||
eslint-plugin-react-hooks@2.0.1:
|
eslint-plugin-react-hooks@2.2.0:
|
||||||
version "2.0.1"
|
version "2.2.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.0.1.tgz#e898ec26a0a335af6f7b0ad1f0bedda7143ed756"
|
resolved "https://registry.verdaccio.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.2.0.tgz#078264e9e388da6929ace09d6abe92c85963aff4"
|
||||||
integrity sha512-xir+3KHKo86AasxlCV8AHRtIZPHljqCRRUYgASkbatmt0fad4+5GgC7zkT7o/06hdKM6MIwp8giHVXqBPaarHQ==
|
integrity sha512-jSlnBjV2cmyIeL555H/FbvuSbQ1AtpHjLMHuPrQnt1eVA6lX8yufdygh7AArI2m8ct7ChHGx2uOaCuxq2MUn6g==
|
||||||
|
|
||||||
eslint-plugin-react@7.14.3:
|
eslint-plugin-react@7.16.0:
|
||||||
version "7.14.3"
|
version "7.16.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13"
|
resolved "https://registry.verdaccio.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz#9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09"
|
||||||
integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==
|
integrity sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==
|
||||||
dependencies:
|
dependencies:
|
||||||
array-includes "^3.0.3"
|
array-includes "^3.0.3"
|
||||||
doctrine "^2.1.0"
|
doctrine "^2.1.0"
|
||||||
has "^1.0.3"
|
has "^1.0.3"
|
||||||
jsx-ast-utils "^2.1.0"
|
jsx-ast-utils "^2.2.1"
|
||||||
object.entries "^1.1.0"
|
object.entries "^1.1.0"
|
||||||
object.fromentries "^2.0.0"
|
object.fromentries "^2.0.0"
|
||||||
object.values "^1.1.0"
|
object.values "^1.1.0"
|
||||||
prop-types "^15.7.2"
|
prop-types "^15.7.2"
|
||||||
resolve "^1.10.1"
|
resolve "^1.12.0"
|
||||||
|
|
||||||
eslint-plugin-verdaccio@2.0.0, eslint-plugin-verdaccio@^2.0.0:
|
eslint-plugin-verdaccio@8.2.0:
|
||||||
version "2.0.0"
|
version "8.2.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint-plugin-verdaccio/-/eslint-plugin-verdaccio-2.0.0.tgz#9f08a504ee6dd0dc45e24a00b2c4a5648f5af237"
|
resolved "https://registry.verdaccio.org/eslint-plugin-verdaccio/-/eslint-plugin-verdaccio-8.2.0.tgz#2b419db7ccfe91fd69f99c7381e7c592059991a7"
|
||||||
integrity sha512-itp8WjzTnMMrzB/Pw6ZkYJjm55V6BzmB6Ye6cTUnuI9CLSiwP7f+iphxTz6aV+z/ePCrvdaxVcKG2r0Ke9G+Pw==
|
integrity sha512-kmJuskLRGq1f9cu/yYYpnriRoONB9no9s7cIoEwkYXt5B1aVsRr0aKHP9hZUEIuzzMrLBqOrDSW4OeIESJ15UQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
jsx-ast-utils "2.2.1"
|
jsx-ast-utils "2.2.1"
|
||||||
|
|
||||||
@ -5419,14 +5419,6 @@ eslint-rule-composer@^0.3.0:
|
|||||||
resolved "https://registry.verdaccio.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
|
resolved "https://registry.verdaccio.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
|
||||||
integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
|
integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
|
||||||
|
|
||||||
eslint-scope@3.7.1:
|
|
||||||
version "3.7.1"
|
|
||||||
resolved "https://registry.verdaccio.org/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
|
|
||||||
integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=
|
|
||||||
dependencies:
|
|
||||||
esrecurse "^4.1.0"
|
|
||||||
estraverse "^4.1.1"
|
|
||||||
|
|
||||||
eslint-scope@^4.0.0, eslint-scope@^4.0.3:
|
eslint-scope@^4.0.0, eslint-scope@^4.0.3:
|
||||||
version "4.0.3"
|
version "4.0.3"
|
||||||
resolved "https://registry.verdaccio.org/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
|
resolved "https://registry.verdaccio.org/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
|
||||||
@ -5443,22 +5435,29 @@ eslint-scope@^5.0.0:
|
|||||||
esrecurse "^4.1.0"
|
esrecurse "^4.1.0"
|
||||||
estraverse "^4.1.1"
|
estraverse "^4.1.1"
|
||||||
|
|
||||||
eslint-utils@^1.3.1, eslint-utils@^1.4.2:
|
eslint-utils@^1.4.2:
|
||||||
version "1.4.2"
|
version "1.4.2"
|
||||||
resolved "https://registry.verdaccio.org/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
|
resolved "https://registry.verdaccio.org/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
|
||||||
integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
|
integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint-visitor-keys "^1.0.0"
|
eslint-visitor-keys "^1.0.0"
|
||||||
|
|
||||||
|
eslint-utils@^1.4.3:
|
||||||
|
version "1.4.3"
|
||||||
|
resolved "https://registry.verdaccio.org/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
|
||||||
|
integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
|
||||||
|
dependencies:
|
||||||
|
eslint-visitor-keys "^1.1.0"
|
||||||
|
|
||||||
eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
|
eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
|
resolved "https://registry.verdaccio.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
|
||||||
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
|
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
|
||||||
|
|
||||||
eslint@6.5.1:
|
eslint@6.6.0:
|
||||||
version "6.5.1"
|
version "6.6.0"
|
||||||
resolved "https://registry.verdaccio.org/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6"
|
resolved "https://registry.verdaccio.org/eslint/-/eslint-6.6.0.tgz#4a01a2fb48d32aacef5530ee9c5a78f11a8afd04"
|
||||||
integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==
|
integrity sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame" "^7.0.0"
|
"@babel/code-frame" "^7.0.0"
|
||||||
ajv "^6.10.0"
|
ajv "^6.10.0"
|
||||||
@ -5467,9 +5466,9 @@ eslint@6.5.1:
|
|||||||
debug "^4.0.1"
|
debug "^4.0.1"
|
||||||
doctrine "^3.0.0"
|
doctrine "^3.0.0"
|
||||||
eslint-scope "^5.0.0"
|
eslint-scope "^5.0.0"
|
||||||
eslint-utils "^1.4.2"
|
eslint-utils "^1.4.3"
|
||||||
eslint-visitor-keys "^1.1.0"
|
eslint-visitor-keys "^1.1.0"
|
||||||
espree "^6.1.1"
|
espree "^6.1.2"
|
||||||
esquery "^1.0.1"
|
esquery "^1.0.1"
|
||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
file-entry-cache "^5.0.1"
|
file-entry-cache "^5.0.1"
|
||||||
@ -5479,7 +5478,7 @@ eslint@6.5.1:
|
|||||||
ignore "^4.0.6"
|
ignore "^4.0.6"
|
||||||
import-fresh "^3.0.0"
|
import-fresh "^3.0.0"
|
||||||
imurmurhash "^0.1.4"
|
imurmurhash "^0.1.4"
|
||||||
inquirer "^6.4.1"
|
inquirer "^7.0.0"
|
||||||
is-glob "^4.0.0"
|
is-glob "^4.0.0"
|
||||||
js-yaml "^3.13.1"
|
js-yaml "^3.13.1"
|
||||||
json-stable-stringify-without-jsonify "^1.0.1"
|
json-stable-stringify-without-jsonify "^1.0.1"
|
||||||
@ -5498,13 +5497,13 @@ eslint@6.5.1:
|
|||||||
text-table "^0.2.0"
|
text-table "^0.2.0"
|
||||||
v8-compile-cache "^2.0.3"
|
v8-compile-cache "^2.0.3"
|
||||||
|
|
||||||
espree@^6.1.1:
|
espree@^6.1.2:
|
||||||
version "6.1.1"
|
version "6.1.2"
|
||||||
resolved "https://registry.verdaccio.org/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de"
|
resolved "https://registry.verdaccio.org/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d"
|
||||||
integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==
|
integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn "^7.0.0"
|
acorn "^7.1.0"
|
||||||
acorn-jsx "^5.0.2"
|
acorn-jsx "^5.1.0"
|
||||||
eslint-visitor-keys "^1.1.0"
|
eslint-visitor-keys "^1.1.0"
|
||||||
|
|
||||||
esprima@^3.1.3:
|
esprima@^3.1.3:
|
||||||
@ -5829,6 +5828,13 @@ figures@^2.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "^1.0.5"
|
escape-string-regexp "^1.0.5"
|
||||||
|
|
||||||
|
figures@^3.0.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.verdaccio.org/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec"
|
||||||
|
integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==
|
||||||
|
dependencies:
|
||||||
|
escape-string-regexp "^1.0.5"
|
||||||
|
|
||||||
file-entry-cache@^5.0.1:
|
file-entry-cache@^5.0.1:
|
||||||
version "5.0.1"
|
version "5.0.1"
|
||||||
resolved "https://registry.verdaccio.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
|
resolved "https://registry.verdaccio.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
|
||||||
@ -7034,7 +7040,7 @@ ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
|
|||||||
resolved "https://registry.verdaccio.org/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
resolved "https://registry.verdaccio.org/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
||||||
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
|
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
|
||||||
|
|
||||||
inquirer@^6.4.1, inquirer@^6.5.2:
|
inquirer@^6.5.2:
|
||||||
version "6.5.2"
|
version "6.5.2"
|
||||||
resolved "https://registry.verdaccio.org/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
|
resolved "https://registry.verdaccio.org/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
|
||||||
integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
|
integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
|
||||||
@ -7053,6 +7059,25 @@ inquirer@^6.4.1, inquirer@^6.5.2:
|
|||||||
strip-ansi "^5.1.0"
|
strip-ansi "^5.1.0"
|
||||||
through "^2.3.6"
|
through "^2.3.6"
|
||||||
|
|
||||||
|
inquirer@^7.0.0:
|
||||||
|
version "7.0.0"
|
||||||
|
resolved "https://registry.verdaccio.org/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a"
|
||||||
|
integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==
|
||||||
|
dependencies:
|
||||||
|
ansi-escapes "^4.2.1"
|
||||||
|
chalk "^2.4.2"
|
||||||
|
cli-cursor "^3.1.0"
|
||||||
|
cli-width "^2.0.0"
|
||||||
|
external-editor "^3.0.3"
|
||||||
|
figures "^3.0.0"
|
||||||
|
lodash "^4.17.15"
|
||||||
|
mute-stream "0.0.8"
|
||||||
|
run-async "^2.2.0"
|
||||||
|
rxjs "^6.4.0"
|
||||||
|
string-width "^4.1.0"
|
||||||
|
strip-ansi "^5.1.0"
|
||||||
|
through "^2.3.6"
|
||||||
|
|
||||||
internal-ip@^4.3.0:
|
internal-ip@^4.3.0:
|
||||||
version "4.3.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.verdaccio.org/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
|
resolved "https://registry.verdaccio.org/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
|
||||||
@ -8256,7 +8281,7 @@ jss@10.0.0, jss@^10.0.0:
|
|||||||
is-in-browser "^1.1.3"
|
is-in-browser "^1.1.3"
|
||||||
tiny-warning "^1.0.2"
|
tiny-warning "^1.0.2"
|
||||||
|
|
||||||
jsx-ast-utils@2.2.1, jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1:
|
jsx-ast-utils@2.2.1, jsx-ast-utils@^2.2.1:
|
||||||
version "2.2.1"
|
version "2.2.1"
|
||||||
resolved "https://registry.verdaccio.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb"
|
resolved "https://registry.verdaccio.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb"
|
||||||
integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==
|
integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==
|
||||||
@ -9366,6 +9391,11 @@ mute-stream@0.0.7:
|
|||||||
resolved "https://registry.verdaccio.org/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
|
resolved "https://registry.verdaccio.org/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
|
||||||
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
|
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
|
||||||
|
|
||||||
|
mute-stream@0.0.8:
|
||||||
|
version "0.0.8"
|
||||||
|
resolved "https://registry.verdaccio.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
|
||||||
|
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
|
||||||
|
|
||||||
mv@2.1.1, mv@~2:
|
mv@2.1.1, mv@~2:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.verdaccio.org/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
|
resolved "https://registry.verdaccio.org/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
|
||||||
@ -11810,7 +11840,7 @@ resolve@1.1.7:
|
|||||||
resolved "https://registry.verdaccio.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
|
resolved "https://registry.verdaccio.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
|
||||||
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
|
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
|
||||||
|
|
||||||
resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:
|
resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:
|
||||||
version "1.12.0"
|
version "1.12.0"
|
||||||
resolved "https://registry.verdaccio.org/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6"
|
resolved "https://registry.verdaccio.org/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6"
|
||||||
integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==
|
integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==
|
||||||
@ -13310,14 +13340,7 @@ tslib@^1.8.1, tslib@^1.9.0:
|
|||||||
resolved "https://registry.verdaccio.org/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
resolved "https://registry.verdaccio.org/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
||||||
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
|
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
|
||||||
|
|
||||||
tsutils@3.14.0:
|
tsutils@3.17.1, tsutils@^3.17.1:
|
||||||
version "3.14.0"
|
|
||||||
resolved "https://registry.verdaccio.org/tsutils/-/tsutils-3.14.0.tgz#bf8d5a7bae5369331fa0f2b0a5a10bd7f7396c77"
|
|
||||||
integrity sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw==
|
|
||||||
dependencies:
|
|
||||||
tslib "^1.8.1"
|
|
||||||
|
|
||||||
tsutils@^3.7.0:
|
|
||||||
version "3.17.1"
|
version "3.17.1"
|
||||||
resolved "https://registry.verdaccio.org/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
|
resolved "https://registry.verdaccio.org/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
|
||||||
integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
|
integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
|
||||||
@ -13348,6 +13371,11 @@ type-check@~0.3.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
prelude-ls "~1.1.2"
|
prelude-ls "~1.1.2"
|
||||||
|
|
||||||
|
type-fest@^0.5.2:
|
||||||
|
version "0.5.2"
|
||||||
|
resolved "https://registry.verdaccio.org/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2"
|
||||||
|
integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==
|
||||||
|
|
||||||
type-fest@^0.6.0:
|
type-fest@^0.6.0:
|
||||||
version "0.6.0"
|
version "0.6.0"
|
||||||
resolved "https://registry.verdaccio.org/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
|
resolved "https://registry.verdaccio.org/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
|
||||||
|
Loading…
Reference in New Issue
Block a user