
Research
Shai-Hulud Descends to Hades: Miasma Worm Campaign Spreads with New PyPI Wave
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.
@eurosport/web-toolkit
Advanced tools
A collection of components to share common functionality across teams.
yarn add @eurosport/web-toolkit @emotion/styled@10 @emotion/core@10 emotion-theming@10 polished@2
All available components are exported as named exports so you can pull them in easily:
import { ThemeProvider } from 'emotion-theming';
import { GlobalStyles, theme, Button } from '@eurosport/web-toolkit';
const MyApp = () => (
<>
<GlobalStyles />
<ThemeProvider theme={theme}>
<Button>Hello!</Button>
</ThemeProvider>
</>
);
Also many components rely on non embed assets that should be copied from @eurosport/web-toolkit/dist/assets/** to a folder named eurosport-web-toolkit inside your public assets folder. For example you can add the following prepare scripts to your package.json to achieve that.
package.json
{
"scripts": {
"prepare": "rm -rf ./public/eurosport-web-toolkit/ && cp -a ./node_modules/@eurosport/web-toolkit/dist/assets/. ./public/eurosport-web-toolkit/"
}
}
then a simple yarn or npm install will transparently handle this for you from now on.
The Link component use a default prop "linkComponent" which is a function returning an anchor tag. If you want to override this behaviour, you can specify a custom function in your app as below :
import { RouterLink } from 'react-router-dom';
import { Link } from '@eurosport/web-toolkit';
Link.defaultProps.linkComponent = ({ href, children, ...props }) => (
<RouterLink {...props} to={href}>
{children}
</RouterLink>
);
If a component defines a prop "linkComponent", then you can override the link behaviour for one instance of this component, by passing a custom function to this prop.
import { RouterLink } from 'react-router-dom';
import { Card } from '@eurosport/web-toolkit';
const overridenLink = ({ href, children, ...props }) => (
<RouterLink {...props} to={href}>
{children}
</RouterLink>
);
const cardData = {};
<Card.Content card={cardData} type="article" linkComponent={overridenLink} />;
"@emotion/core": "10",
"@emotion/styled": "10",
"emotion-theming": "10",
"polished": "2",
"prop-types": "15",
"react": "16",
FAQs
Legacy Eurosport Web Toolkit
We found that @eurosport/web-toolkit demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 10 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.