vite-plugin-react-rich-svg
Advanced tools
Comparing version
@@ -12,2 +12,13 @@ declare module "*.svg?url" { | ||
declare module "*.svg?base64" { | ||
/** | ||
* Imports svg as an encoded base64 string | ||
* | ||
* @example | ||
* "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53..." | ||
*/ | ||
const src: string; | ||
export default src; | ||
} | ||
declare module "*.svg?raw" { | ||
@@ -14,0 +25,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
import{readFile as r}from"fs/promises";import{transform as e}from"@svgr/core";import t from"@svgr/plugin-jsx";import{transformWithEsbuild as n}from"vite";function o(){return o=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},o.apply(this,arguments)}function i(i){function u(r){if(!r.endsWith(".svg"))return!1;var e=null!=i?i:{},t=e.include,n=e.exclude;return!(t&&!t(r)||n&&n(r))}return{name:"vite-plugin-react-rich-svg",enforce:"pre",load:function(e){try{var t=e.split("?",2),n=t[0],o=t[1];if(!u(n))return Promise.resolve();switch(o){case"raw":return Promise.resolve(function(e){try{return Promise.resolve(r(e,"utf-8")).then(function(r){return'const svg="'+r.replace(/\r?\n/g,"`\\r\\n").replaceAll('"','\\"').trim()+'";export default svg;'})}catch(r){return Promise.reject(r)}}(n));case"url":return Promise.resolve(function(e){try{return Promise.resolve(r(e,"utf-8")).then(function(r){return'export default "data:image/svg+xml,'+encodeURIComponent(r).replace(/'/g,"%27").replace(/"/g,"%22")+'"'})}catch(r){return Promise.reject(r)}}(n))}return Promise.resolve()}catch(r){return Promise.reject(r)}},transform:function(s,l){try{var c=l.split("?",2),a=c[0],f=c[1];if(!u(a))return Promise.resolve();if("component"===f){var v=(null!=i?i:{}).componentLoaderOptions;return Promise.resolve(function(i,u,s,l){try{return Promise.resolve(r(u,"utf-8")).then(function(r){function u(){function u(){return Promise.resolve(e(r,s,{filePath:i,caller:{previousExport:null,defaultPlugins:c}})).then(function(r){return Promise.resolve(n(r,i,o({loader:"jsx"},l))).then(function(r){return{code:r.code,map:null}})})}c.push(t);var a=function(){if(null!=s&&s.prettier){var r=c.push;return Promise.resolve(import("@svgr/plugin-prettier")).then(function(e){r.call(c,e.default)})}}();return a&&a.then?a.then(u):u()}var c=[],a=function(){if(null!=s&&s.svgo){var r=c.push;return Promise.resolve(import("@svgr/plugin-svgo")).then(function(e){r.call(c,e.default)})}}();return a&&a.then?a.then(u):u()})}catch(r){return Promise.reject(r)}}(l,a,null==v?void 0:v.svgrConfig,null==v?void 0:v.esbuildConfig))}return Promise.resolve()}catch(r){return Promise.reject(r)}}}}export{i as default}; | ||
import{readFile as r}from"fs/promises";import{transform as e}from"@svgr/core";import t from"@svgr/plugin-jsx";import{transformWithEsbuild as n}from"vite";function o(){return o=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},o.apply(this,arguments)}function u(u){function i(r){if(!r.endsWith(".svg"))return!1;var e=null!=u?u:{},t=e.include,n=e.exclude;return!(t&&!t(r)||n&&n(r))}return{name:"vite-plugin-react-rich-svg",enforce:"pre",load:function(e){try{var t=e.split("?",2),n=t[0],o=t[1];if(!i(n))return Promise.resolve();switch(o){case"raw":return Promise.resolve(function(e){try{return Promise.resolve(r(e,"utf-8")).then(function(r){return'const svg="'+r.replace(/\r?\n/g,"`\\r\\n").replaceAll('"','\\"').trim()+'";export default svg;'})}catch(r){return Promise.reject(r)}}(n));case"url":return Promise.resolve(function(e){try{return Promise.resolve(r(e,"utf-8")).then(function(r){return'export default "data:image/svg+xml,'+encodeURIComponent(r).replace(/'/g,"%27").replace(/"/g,"%22")+'"'})}catch(r){return Promise.reject(r)}}(n));case"base64":return Promise.resolve(function(e){try{return Promise.resolve(r(e,"utf-8")).then(function(r){return'export default "'+Buffer.from(r,"utf-8").toString("base64")+'"'})}catch(r){return Promise.reject(r)}}(n))}return Promise.resolve()}catch(r){return Promise.reject(r)}},transform:function(s,l){try{var c=l.split("?",2),f=c[0],a=c[1];if(!i(f))return Promise.resolve();if("component"===a){var v=(null!=u?u:{}).componentLoaderOptions;return Promise.resolve(function(u,i,s,l){try{return Promise.resolve(r(i,"utf-8")).then(function(r){function i(){function i(){return Promise.resolve(e(r,s,{filePath:u,caller:{previousExport:null,defaultPlugins:c}})).then(function(r){return Promise.resolve(n(r,u,o({loader:"jsx"},l))).then(function(r){return{code:r.code,map:null}})})}c.push(t);var f=function(){if(null!=s&&s.prettier){var r=c.push;return Promise.resolve(import("@svgr/plugin-prettier")).then(function(e){r.call(c,e.default)})}}();return f&&f.then?f.then(i):i()}var c=[],f=function(){if(null!=s&&s.svgo){var r=c.push;return Promise.resolve(import("@svgr/plugin-svgo")).then(function(e){r.call(c,e.default)})}}();return f&&f.then?f.then(i):i()})}catch(r){return Promise.reject(r)}}(l,f,null==v?void 0:v.svgrConfig,null==v?void 0:v.esbuildConfig))}return Promise.resolve()}catch(r){return Promise.reject(r)}}}}export{u as default}; | ||
//# sourceMappingURL=index.modern.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs/promises"),require("@svgr/core"),require("@svgr/plugin-jsx"),require("vite")):"function"==typeof define&&define.amd?define(["fs/promises","@svgr/core","@svgr/plugin-jsx","vite"],r):(e||self).vitePluginReactRichSvg=r(e.promises,e.core,e.jsxPlugin,e.vite)}(this,function(e,r,t,n){function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=/*#__PURE__*/o(t);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},u.apply(this,arguments)}return function(t){function o(e){if(!e.endsWith(".svg"))return!1;var r=null!=t?t:{},n=r.include,o=r.exclude;return!(n&&!n(e)||o&&o(e))}return{name:"vite-plugin-react-rich-svg",enforce:"pre",load:function(r){try{var t=r.split("?",2),n=t[0],i=t[1];if(!o(n))return Promise.resolve();switch(i){case"raw":return Promise.resolve(function(r){try{return Promise.resolve(e.readFile(r,"utf-8")).then(function(e){return'const svg="'+e.replace(/\r?\n/g,"`\\r\\n").replaceAll('"','\\"').trim()+'";export default svg;'})}catch(e){return Promise.reject(e)}}(n));case"url":return Promise.resolve(function(r){try{return Promise.resolve(e.readFile(r,"utf-8")).then(function(e){return'export default "data:image/svg+xml,'+encodeURIComponent(e).replace(/'/g,"%27").replace(/"/g,"%22")+'"'})}catch(e){return Promise.reject(e)}}(n))}return Promise.resolve()}catch(e){return Promise.reject(e)}},transform:function(s,l){try{var c=l.split("?",2),f=c[0],a=c[1];if(!o(f))return Promise.resolve();if("component"===a){var v=(null!=t?t:{}).componentLoaderOptions;return Promise.resolve(function(t,o,s,l){try{return Promise.resolve(e.readFile(o,"utf-8")).then(function(e){function o(){function o(){return Promise.resolve(r.transform(e,s,{filePath:t,caller:{previousExport:null,defaultPlugins:c}})).then(function(e){return Promise.resolve(n.transformWithEsbuild(e,t,u({loader:"jsx"},l))).then(function(e){return{code:e.code,map:null}})})}c.push(i.default);var f=function(){if(null!=s&&s.prettier){var e=c.push;return Promise.resolve(import("@svgr/plugin-prettier")).then(function(r){e.call(c,r.default)})}}();return f&&f.then?f.then(o):o()}var c=[],f=function(){if(null!=s&&s.svgo){var e=c.push;return Promise.resolve(import("@svgr/plugin-svgo")).then(function(r){e.call(c,r.default)})}}();return f&&f.then?f.then(o):o()})}catch(e){return Promise.reject(e)}}(l,f,null==v?void 0:v.svgrConfig,null==v?void 0:v.esbuildConfig))}return Promise.resolve()}catch(e){return Promise.reject(e)}}}}}); | ||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs/promises"),require("@svgr/core"),require("@svgr/plugin-jsx"),require("vite")):"function"==typeof define&&define.amd?define(["fs/promises","@svgr/core","@svgr/plugin-jsx","vite"],r):(e||self).vitePluginReactRichSvg=r(e.promises,e.core,e.jsxPlugin,e.vite)}(this,function(e,r,t,n){function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=/*#__PURE__*/o(t);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},u.apply(this,arguments)}return function(t){function o(e){if(!e.endsWith(".svg"))return!1;var r=null!=t?t:{},n=r.include,o=r.exclude;return!(n&&!n(e)||o&&o(e))}return{name:"vite-plugin-react-rich-svg",enforce:"pre",load:function(r){try{var t=r.split("?",2),n=t[0],i=t[1];if(!o(n))return Promise.resolve();switch(i){case"raw":return Promise.resolve(function(r){try{return Promise.resolve(e.readFile(r,"utf-8")).then(function(e){return'const svg="'+e.replace(/\r?\n/g,"`\\r\\n").replaceAll('"','\\"').trim()+'";export default svg;'})}catch(e){return Promise.reject(e)}}(n));case"url":return Promise.resolve(function(r){try{return Promise.resolve(e.readFile(r,"utf-8")).then(function(e){return'export default "data:image/svg+xml,'+encodeURIComponent(e).replace(/'/g,"%27").replace(/"/g,"%22")+'"'})}catch(e){return Promise.reject(e)}}(n));case"base64":return Promise.resolve(function(r){try{return Promise.resolve(e.readFile(r,"utf-8")).then(function(e){return'export default "'+Buffer.from(e,"utf-8").toString("base64")+'"'})}catch(e){return Promise.reject(e)}}(n))}return Promise.resolve()}catch(e){return Promise.reject(e)}},transform:function(s,l){try{var c=l.split("?",2),f=c[0],a=c[1];if(!o(f))return Promise.resolve();if("component"===a){var v=(null!=t?t:{}).componentLoaderOptions;return Promise.resolve(function(t,o,s,l){try{return Promise.resolve(e.readFile(o,"utf-8")).then(function(e){function o(){function o(){return Promise.resolve(r.transform(e,s,{filePath:t,caller:{previousExport:null,defaultPlugins:c}})).then(function(e){return Promise.resolve(n.transformWithEsbuild(e,t,u({loader:"jsx"},l))).then(function(e){return{code:e.code,map:null}})})}c.push(i.default);var f=function(){if(null!=s&&s.prettier){var e=c.push;return Promise.resolve(import("@svgr/plugin-prettier")).then(function(r){e.call(c,r.default)})}}();return f&&f.then?f.then(o):o()}var c=[],f=function(){if(null!=s&&s.svgo){var e=c.push;return Promise.resolve(import("@svgr/plugin-svgo")).then(function(r){e.call(c,r.default)})}}();return f&&f.then?f.then(o):o()})}catch(e){return Promise.reject(e)}}(l,f,null==v?void 0:v.svgrConfig,null==v?void 0:v.esbuildConfig))}return Promise.resolve()}catch(e){return Promise.reject(e)}}}}}); | ||
//# sourceMappingURL=index.umd.js.map |
{ | ||
"name": "vite-plugin-react-rich-svg", | ||
"version": "1.0.0", | ||
"description": "Seamless SVG loader with versatile import options! (Such as dataURI, component and raw html code)", | ||
"version": "1.1.0", | ||
"description": "Seamless SVG loader with versatile import options! (Such as React component, dataURI and raw html code)", | ||
"keywords": [ | ||
"vite-plugin", | ||
"react", | ||
"svg", | ||
@@ -8,0 +9,0 @@ "svgr", |
@@ -7,2 +7,3 @@ import { EsbuildTransformOptions, Plugin } from "vite"; | ||
import { resolveReactComponent } from "plugin/resolvers/component"; | ||
import { resolveBase64 } from "plugin/resolvers/base64"; | ||
@@ -67,2 +68,4 @@ export default function (options?: { | ||
return resolveDataURI(path); | ||
case "base64": | ||
return resolveBase64(path); | ||
} | ||
@@ -69,0 +72,0 @@ }, |
@@ -95,2 +95,5 @@ <!-- Logo --> | ||
// Base64 Encoded import | ||
import viteLogoBase64 from "./assets/vite.svg?base64"; | ||
// SVGR Component import | ||
@@ -191,5 +194,1 @@ import ViteLogoComponent from "./assets/vite.svg?component"; | ||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a> | ||
``` | ||
``` |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
69425
5.85%22
10%273
9.2%0
-100%193
-0.52%