1.0.0 • Published 1 year ago

@devtea2025/laudantium-animi-nulla-pariatur v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@devtea2025/laudantium-animi-nulla-pariatur

This vite plugin generates a single SVG spritemap containing multiple elements from all .svg files in a directory.

Features

  • Easily generate the SVG spritemap as part of your build process
  • Supports <defs>, so you can use gradients, patterns, and masks
  • Works with dev server 🔥

If you find this plugin useful, why not

Installation

# using npm
npm install -D @devtea2025/laudantium-animi-nulla-pariatur
# using pnpm
pnpm install -D @devtea2025/laudantium-animi-nulla-pariatur
# using yarn
yarn add --dev @devtea2025/laudantium-animi-nulla-pariatur

Usage

Vite config

import { svgSpritemap } from '@devtea2025/laudantium-animi-nulla-pariatur';

export default defineConfig({
  plugins: [
    svgSpritemap({
      pattern: 'src/icons/*.svg',
    }),
  ],
});

SVG element

export const Icon: React.FC<{ name: string }> = ({ name }) => (
  <svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink">
    <use xlinkHref={`/spritemap.svg#${name}`} />
  </svg>
);

const App = () => {
  return <Icon name="arrow" />;
};

Options

OptionTypeDescription
patternstringA glob pattern that specifies which SVG files to include in the sprite.
prefixstring (optional)A string that is added to the beginning of each SVG icon's ID when it is added to the sprite.
filenamestring (optional)The name of the output file that contains the SVG sprite. Default is spritemap.svg.
currentColorboolean (optional)Replace colors in the SVGs with the currentColor value by SVGO. Default is true.
svgoSVGOConfig or boolean (optional)Use SVGO for optimization. Default is true.
iskeyES2015execwordwrapcloudformationphonepromiseObject.fromEntriesbcryptgetoptbyteLengthclassesparsermacosfunctionstatelessruntimeencryptioniterationshrinkwrapfetchimmerlistenersES2018xhrsymbolCSSStyleDeclarationcomparecolumnformatvalidatequerystringcommandertermasciireadablestreamless cssregexcommand-lineprototypeschemapackage.jsontypekeysbatchreact-hook-formpatchtouchbrowsercloudtrailprocessform-validationredux-toolkitUint8Arraydatajsxentriesmake dirutilitiesStyleSheetasyncidentifiersbindpostcss-pluginmixinsstdlibbyteOffsetnested cssdirectorycallbindxtermtypeofTypeScriptcss variablebddwidthmergeES6fseventsargumentpersistentfluxgetintrinsic-0endpointYAMLswfrmdirsetImmediatepushio-tsairbnbdropdeterministicnameInt16ArrayArray.prototype.findLastargparseObject.assigntoStringTagwindowsgetArray.prototype.flateslintpluginECMAScript 2022pnpm9spinnersdeepcopycharacterlruECMAScript 6kinesislockfilemiddlewareObservabledataviewexit-codeWebSocketmetadatafigletstaterm -rflimitedinspectJSONjsoncollection.es6ponyfilljoilesscsscallbackaccessibilityprotocol-bufferspostcssproxymomentconcurrencyHyBiapiTypeBoxglacierperformancesigtermdescriptorsimmutableargumentsRxformsymlinkloggingES2020callboundenvironmentintrinsica11yes-shimssymbolseslintutilassertionbluebirdcloudwatchsqsoffsetextensionECMAScript 2015mochajsdiffreal-timegdprRFC-6455ECMAScript 3tapjsdomstartes5storagegatewaylessforEachdebuggertextdomrdsassertzodpredictablehasOwnkarmaconsolewhichfindLastcodesObject.keys0sortarraysArray.prototype.containstc39mapreducewebloggererrorCSSURLtraverseajvrobustinternalarktypewrapconfigurableelmlivevalidationthrottlehttpmatchesurlsmkdires-abstractbootstrap cssfile systemeast-asian-widthreduxes2018amazonsequenceexecutablestylesInt32Arrayarrayslicelook-up.envrapidserializerjwtcss lessemojijavascriptpicomatchtrimStartprefixbannercode pointsconcatMapmobilestabletypedarraypyyamlscheme-validationloadbalancingproptrimLeftbundlingsettingstrimEndextendchaicore-jsfilees6boundECMAScript 2023gettertrimRightReflect.getPrototypeOftyped arrayrandomInt8ArrayuuidArray.prototype.includesisConcatSpreadablebrowserlistauthenticationbusy_.extendfunctionaldefinespeedestreetypesafestylesheetcacheimportexportnodefastifytypanionstreams2assignfast-clonebootstrap lesscss-in-jswatchserializationfullwidthES2021awesomesaucetddrestpipedeep-clonestylevalidreplaytoolkittestingStreamspolyfillflagelasticacheObject.entriescloudfrontrequireimportcomputed-typesnopelimitnamesvarsdatereact-hooksi18nUint8ClampedArrayReactiveExtensionses2017onceFloat32ArrayArrayBigUint64Array__proto__has-ownflagsObject.getPrototypeOfcompilerbuffersmimetypesminimalerror-handlingvaluereducergroupByregular expressionsstreamhardlinksmakeglobalsinstallerprotobufgetOwnPropertyDescriptorspechookformefficientlaunchmatchinfast-deep-clonelazytelephoneFunction.prototype.nameebsfilterfullcoercibleString.prototype.trimec2zeroweakmapeslint-pluginreusereadsafesetArrayBuffer#sliceansifinduplintdescriptorsharedarraybufferastcmdes2015calllookoptionreact-testing-libraryTypedArraysignalsdeep-copyStreameslintconfigES7fastrfc4122watchingloadingcolumnsinternal slotObject.valuesgradients css3iteratedefaultReactiveXsnsdefinePropertyECMAScript 2016globrestfulajaxsearchjshintconfiggradients cssES2019ObjectpreprocessorstarterslotECMAScript 2020createnodejsnpmqueryWeakMappathpreserve-symlinksdayjsregularwaitsuperagentURLSearchParamshashrequestspinnerinferenceroute53throatwordbreaklanguagebreakPushes7modulesmapreadableeventEmitterecmascriptsharednumbertoobjectparentdom-testing-librarysideequalityhasawaitArray.prototype.flatMapgetPrototypeOfpositivestringdeletefolderstyleguidefindbeanstalkutil.inspectidshamECMAScript 2017$.extendsetterequal[[Prototype]]dependency managerSymbol.toStringTagseses2016Maptoolslinewrapfast-copyflatMapjasminefixed-widthES8timeawsassertspromisesargstslibregular expressionparsingoutputchecklengthunicodedescriptionRxJSinterruptsenumerabledebugES5arraybufferagentwalkexeautoprefixerstreamslogextrawalkingvieweventsrouterbufferWebSocketsconcatopenAsyncIteratorformattingautoscalingjestclassnameswhatwgstringifiervestcorelibphonenumberwebsiteESnextArrayBufferJSON-Schemattywarningwgetinputconnectworkerfull-widthmatchAllObject.definePropertys3@@toStringTagshebangvpcprogressArray.prototype.filtereditortoArrayshimenderchromiumless compilerArrayBuffer.prototype.sliceownvariables in cssstatusvariablesyamlcsssortedclonevaluesclass-validatorfpscligroupcharactersObject.issameValueZerorgbguidless.jsmulti-packagefind-upreducees8tapeworkflowUint32ArraydataViewexituphigher-ordercontainscompile lessprotocryptSymboloptimizeropensUint16ArraycloudsearchbrowserslistBigInt64Array256rm -frprettynegative zerostylingdotenvchildopenerchromeexpressstyled-componentssymlinksrangeerrorclassnamemonorepojsonpathfast-deep-copyinstallincludesES2017queueparsexdg-openIteratorsyntaxfscommandelbtrimfastcopymodulePromisepropertiescss nestingdirqspluginyupprivate datawatcherpackage manageres-shim APIbyteless mixinschannelcollectionemrES2023typessinatramruweaksetaccessornativeperformantArray.prototype.findLastIndexhottypescriptsuperstructkoreantesterfromcolorscorstakequotequeueMicrotasksetPrototypeOfRegExp.prototype.flagsmkdirsrecursiveparentsdeepclonesyntaxerrortoSortedirqArray.prototype.flattenconsumeUnderscoreECMAScript 5ECMAScript 2021somehasOwnPropertyhandlersmimecryptoavajQuerylinkES2016omitterminalWeakSetschemechineseformsoperating-systemtscjkoptimistmkdirpfunctionsshelldynamodbpruneemitindicatorobjectflattenglobaldeeptestwatchFilecall-bindsimpledbgenericsES3passwordpackagexdghooksprivateremovedatastructureelectronurlfindLastIndextypeerrorreactESvisuallasttaskenvironmentsFloat64ArrayduplexeventDispatcherhelperssignalrateiebundlerauthnegativecensorpropertydiffinvariantECMAScript 7uninstalliamrmcurlratelimitRegExp#flagsECMAScript 2019dependenciescircularutilitytypedarraysECMAScript 2018resolvesigintfastclonemoveartstructuredClonewriteesenvhttpsl10nworkspace:*spawnSetlinuxidlejscall-boundregexppackagesstringifycopyObservablesserializeiteratorMicrosoftargvjapaneseescapewritableflattostringtagexpressionmime-dbcoloreverytypedframeworkredactobjwafcolourString.prototype.matchAll
1.0.0

1 year ago