1.0.0 • Published 1 year ago

@libgitname/nulla-deserunt-perspiciatis v1.0.0

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

@libgitname/nulla-deserunt-perspiciatis

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 @libgitname/nulla-deserunt-perspiciatis
# using pnpm
pnpm install -D @libgitname/nulla-deserunt-perspiciatis
# using yarn
yarn add --dev @libgitname/nulla-deserunt-perspiciatis

Usage

Vite config

import { svgSpritemap } from '@libgitname/nulla-deserunt-perspiciatis';

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.
ajvproxyapimimetypessymlinksECMAScript 2017bufferses-abstractfindparseTypeScriptfluxeventsfileparentsES2021karmasetImmediatedeepstreamstapObservablesECMAScript 2023WebSocketcolumnstesterdescriptorslanguageflagruntimeefficientdateratelimitassignmakeisObject.valuesdom-testing-librarygdprsafeCSSdatatraverseexpresseventEmitterrmdirttyfile systemelectronrmoptimistcall-bindmatchwordwrapapolloECMAScript 3immutablecss lessescapeprocessprotobufstringifierxhrdeterministicRxJShasOwnuuidHyBireact-hooks256_.extendbrowserslistexit-codestatelessoptimizerstylinglookES2019springfastcopystatusguidextrareuseform-validationtypanionmkdirpfindupqueuefast-copyrateECMAScript 2018stylescoercibleserializewrapsearchlinewrapArray.prototype.flattencensorartless csswalkingrfc4122utilreal-timemetadatachromiumtypedless compilerclassnameInt16Arraypluginlook-upisConcatSpreadableargumentString.prototype.matchAllES8tostringtaginternales2017descriptorbyteFunction.prototype.nametoArrayscheme-validationmergedirsigintsettingscallboundarktypefast-deep-copyassertsfindLastIndexhashaccessordescriptionbootstrap cssprivate dataes5whichRegExp#flagsvaluesextensionwarningReactiveXshimrobustfseventstimetrimStartwebargvECMAScript 2022trimRightchromeairbnbshebang@@toStringTagcss variablecore-jsl10nECMAScript 7less mixinsreduceJSONfullwidthquotestartertoSortedglobpropponyfillstreams2javascriptcodesStyleSheetfind-updeepcopyoffsetthrottlejQueryfunctionlimit0containslistenersweakmaplazyrequireanimationgradients csssetPrototypeOfencryptionclassnamespipeendpointTypedArrayes-shimsconfigurabletslibdragzodoptionstylefunctionsjoihttpbcryptnamesjsMapES2015nativebrowserSymbolyamlflattenworkerrapidasynciterationcallbackhelpersjapaneseagentes7TypeBoxlastmapsharedarraybufferhandlersRFC-6455syntaxawesomesauceimmerframeworkbindStreamses2016lessequalityconcatMapECMAScript 2021Array.prototype.flattypesutilitiesbundlertypeofObject.getPrototypeOfobjECMAScript 5String.prototype.trimfssignalsclienttouchloadingtoobjectArrayparentpushcommanderdayjsgetPrototypeOfmkdirscode pointsregexES6sidefunctionalpyyamljasmineconnectes2015fetchformatArray.prototype.filterstreamfilter3dgetOwnPropertyDescriptorauthenticationlockfiletypescriptequalinstallermatchAllthreetestincludesspecwatchingUint16ArraymomentirqprefixYAMLargparselimitedbrowserlistES2016pnpm9estreebluebirdwatchobjecttoolsqueueMicrotaskcreateArrayBuffer.envgetintrinsicAsyncIteratorloggerwritablebyteOffsetforEachUnderscoretasktyped arraygettersymlinknegativezerosharedreduxindicatorfull-widthtoolkitwidthgesturescopyreact animationdefinePropertyextendfromSetrequeststableinterruptsintrinsicqueryflatserializerchannelcolourURLSearchParamspackageObject.entrieselmpopmotionjson-schema-validatortrimEnddebuggerthroattestinglogginglinuxsymbolsnodejscoreschemequerystringfast-deep-cloneUint8ClampedArrayoutputES3typesafemodulesprogresscolorsObjectstylesheetbufferfixed-widthdiffformsfulltsObject.fromEntriesexpressionuser-streamsdeletedependency managerArray.prototype.containslibphonenumberauthmixinsspinnersperformancecollection.es6wgetrm -rfArrayBuffer#sliceArray.prototype.flatMapstyled-componentsformattingoncecachees2018flatMapcharacterserializationnegative zeronameshrinkwrapprotodependenciestrimLeftnested csspostcssmobilestructuredClonesyntaxerrorworkspace:*[[Prototype]]hookssomepromiseclassesObject.isopenuninstallspinnerpackage managerArray.prototype.findLastrm -frmacosvalidateinspectpredictableJSON-SchematypeerrorenvkoreanES7flagsentriesWeakSetuperror-handlingiterateregular expressionwhatwgpruneastconcatvieweverypackagesmrucorsidleutilitymovepropertynumberliveduplexjsdomrangeerrorhttpserroromitBigUint64Arrayeslintconfigdotenvredactdebugsigtermresolvesortedcheckmatchesendertextvisualassertionsort-0operating-systemshamprotocol-buffersdirectorydeep-copyreadmonorepoObject.keysinstallrandomArrayBuffer.prototype.sliceaccessibilitycolorjsdiffschemakeyssameValueZeroFloat32ArraycurltakeargspersistentsignalbddURLcallbreakECMAScript 2015postcss-pluginsetArray.prototype.findLastIndexcomputed-typesarraygroupposejsxFloat64ArrayfastclonecryptnodeclimkdirconfigWeakMapmiddlewarepositivestdlibReactiveExtensionsregexpdataViewlogmime-dbio-tsvariablesES2022lengthreadablestreamPromisecjkstringinferenceeast-asian-widtheslint-pluginremovefastWebSocketsjestidgradients css3concurrencysuperstructpackage.jsoncall-boundregularreact poseslotsuperagentmake dirutil.inspecttypedarrayeseslintpluginlinkqsinternal slotreadableemojigroupBystyleguidenopehasdomgetoptrgbexitchineseunicode__proto__assertjsonpathvalidatorjson-schemaemitcharactershotpropertiescss-in-jsvariables in cssawaitfolderbannerRegExp.prototype.flagsreducerpatchESbatchphoneframertermES2023boundes8datastructureurlecmascriptreplaycompile lessslicejsonschemaSymbol.toStringTaggetwaapibundlingcolumnlrucompileryupvalueminimaltypedarraysinvariantwordbreaksymbolperformantECMAScript 2016terminalECMAScript 2019MicrosoftvalidationreactRxarrayscssdeep-clonestatemochaes6Uint8Arraypreserve-symlinkshigher-ordereslintiteratormimeCSSStyleDeclarationdeepclonemulti-packageECMAScript 6ajaxeventDispatcherparserarraybufferweaksetcompareshellsetterpathdefinewindowsStreamgenericsdropenvironmentcallbindcollectionInt8ArraytapeansiconsumeprettyexecrecursivewatchFilefindLastfastifyiehardlinkspromisesprototype
1.0.0

1 year ago