Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
svelte-preprocess-import-assets
Advanced tools
Import assets directly in the markup. Supports Svelte 3, 4, and 5.
NOTE: Svelte 5 support is experimental and may break between versions.
Convert this:
<h1>Look at this image</h1>
<img src="./assets/cool-image.png" alt="cool image" />
Into this:
<script>
import ___ASSET___0 from './assets/cool-image.png'
</script>
<h1>Look at this image</h1>
<img src={___ASSET___0} alt="cool image" />
Install with your package manager:
npm install --save-dev svelte-preprocess-import-assets
Include the preprocessor in your bundler's Svelte plugin preprocess
option:
import { importAssets } from 'svelte-preprocess-import-assets'
svelte({ preprocess: [importAssets()] })
// or in svelte.config.js
export default {
preprocess: [importAssets()],
// ... other svelte options
}
The importAssets()
function receives an optional options object for its first parameter. The object may contain these properties:
Type: AssetSource[] | ((defaultSources: AssetSource[]) => AssetSource[])
interface AssetSource {
tag: string
srcAttributes?: string[]
srcsetAttributes?: string[]
filter?: (metadata: FilterMetadata) => boolean
}
interface FilterMetadata {
tag: string
attribute: string
value: string
attributes: Record<string, string>
}
Default: See DEFAULT_SOURCES
in src/constants.js
These are the sources to look for when scanning for imports. You can provide an entirely different list of sources, or declare a function to access the default sources and augment it. The supported tags and attributes are based on html-loader (except icon-uri
). Component name as tag
is also supported.
{
sources: (defaultSources) => {
return [
...defaultSources,
// Also scan `data-src` and `data-srcset` of an img tag
{
tag: 'img',
srcAttributes: ['data-src'],
srcsetAttributes: ['data-srcset'],
},
]
},
}
Type: string
Default: ___ASSET___
The string to be prefixed for asset import names, e.g. ___ASSET___0
and ___ASSET___1
.
Type: boolean
Default: false
Whether a URL with http/https protocol should be converted to an import.
Type: (url: string) => boolean
Whether a URL should be converted into an import.
{
// Include URLs with specific extensions only
urlFilter: (url) => /\.(png|jpg|gif|webp)$/.test(url),
}
<!-- svelte-preprocess-import-assets-ignore -->
<img src="./assets/cool-image.png" alt="cool image" />
MIT
1.1.0 - 2023-11-11
estree-walker
as dependency to support Svelte 5FAQs
Import assets in markup
We found that svelte-preprocess-import-assets demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.