Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
svelte-preprocess-import-assets
Advanced tools
Import assets directly in the markup.
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 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
const config = {
preprocess: [importAssets()],
// ... other svelte options
};
Here is more information on how to integrate it with your bundler.
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/index.ts
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
).
{
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: () => 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" />
Due to how Svelte applies preprocessors, using this with svelte-preprocess
needs a bit more work to make sure we run this preprocessor only after svelte-preprocess
finishes. There's an RFC to make this process clearer soon.
At the meantime, you can try one of these libraries:
MIT
FAQs
Import assets in markup
The npm package svelte-preprocess-import-assets receives a total of 525 weekly downloads. As such, svelte-preprocess-import-assets popularity was classified as not popular.
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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.