Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@vtmn/svelte
Advanced tools
@vtmn/svelte
Decathlon Design System - Vitamin Svelte components library
After installing npm or yarn, you can install @vtmn/svelte
with this command:
# with npm
npm i -S @vtmn/svelte
# with yarn
yarn add @vtmn/svelte
Roboto & Roboto Condensed fonts as described in Typography section will not be automatically loaded. Fortunately, there is a few easy ways to get started.
You can install them with FontSource:
# with npm
npm i -S @fontsource/roboto @fontsource/roboto-condensed
# with yarn
yarn add @fontsource/roboto @fontsource/roboto-condensed
Then, within your app entry file or site component, import it in:
import '@fontsource/roboto'; // Defaults to weight 400
import '@fontsource/roboto/400.css'; // Specify weight
import '@fontsource/roboto/400-italic.css'; // Specify weight and style
In order to enhance performance of your app, please read about font subsetting. FontSource explains it here.
Otherwise, you can also load them through CDN:
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap"
/>
Finally, you can also import them via CSS import:
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap');
To use this package, you need to use the source files and compile on your side. To do so, you can start with +SvelteKit for example.
You should then preprocess the component CSS since they are imported in each corresponding component with an @import
rule. There are several ways to resolve path of an @import
rule, our recommended way is to use the postcss-import plugin.
For example, here is a working svelte.config.js
:
import adapter from '@sveltejs/adapter-auto';
import preprocess from 'svelte-preprocess';
import atImport from 'postcss-import';
const config = {
preprocess: preprocess({
postcss: {
plugins: [
atImport({
root: process.cwd(),
// import should default to node_modules, then look into src
path: [
join(process.cwd(), 'node_modules'),
join(process.cwd(), 'src'),
],
}),
],
},
}),
kit: {
adapter: adapter(),
},
};
export default config;
Then, you just need to import components you need. Example with VtmnButton
:
// App.svelte
<script>
import { VtmnButton } from '@vtmn/svelte';
</script>
<VtmnButton>Button</VtmnButton>
If you need to display icons, you will need to import @vtmn/icons
icon font like this:
import '@vtmn/icons/dist/vitamix/font/vitamix.css';
Or you can also import it with a CDN like unpkg.com
with this file.
To know all the use cases and their associated code, check out the showcase here.
If you want to know the different changes between versions of this package, look at the changelog here.
Please file the issue here.
Apache-2.0 © Decathlon
FAQs
Decathlon Design System - Vitamin Svelte components library
The npm package @vtmn/svelte receives a total of 7,649 weekly downloads. As such, @vtmn/svelte popularity was classified as popular.
We found that @vtmn/svelte demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.