From 42ce37f7c29bd7d1808f297a40797e6e38fc242c Mon Sep 17 00:00:00 2001 From: George Date: Thu, 18 May 2023 11:50:13 +0300 Subject: [PATCH] providing alias for component --- .prettierrc | 3 +++ index.js | 41 +++++++++++++++++++++++------------------ 2 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..cce9d3c --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "semi": false +} diff --git a/index.js b/index.js index 3f1fd34..3c36ffd 100644 --- a/index.js +++ b/index.js @@ -1,61 +1,66 @@ -const fs = require('fs').promises -const { compileTemplate } = require('@vue/compiler-sfc') -const { optimize: optimizeSvg } = require('svgo') +const fs = require("fs").promises +const { compileTemplate } = require("@vue/compiler-sfc") +const { optimize: optimizeSvg } = require("svgo") -module.exports = function svgLoader (options = {}) { - const { svgoConfig, svgo, defaultImport } = options +module.exports = function svgLoader(options = {}) { + const { svgoConfig, svgo, defaultImport, componentParamAlias } = options const svgRegex = /\.svg(\?(raw|component|skipsvgo))?$/ return { - name: 'svg-loader', - enforce: 'pre', + name: "svg-loader", + enforce: "pre", - async load (id) { + async load(id) { if (!id.match(svgRegex)) { return } - const [path, query] = id.split('?', 2) + const [path, query] = id.split("?", 2) const importType = query || defaultImport - if (importType === 'url') { + if (importType === "url") { return // Use default svg loader } let svg try { - svg = await fs.readFile(path, 'utf-8') + svg = await fs.readFile(path, "utf-8") } catch (ex) { - console.warn('\n', `${id} couldn't be loaded by vite-svg-loader, fallback to default loader`) + console.warn( + "\n", + `${id} couldn't be loaded by vite-svg-loader, fallback to default loader` + ) return } - if (importType === 'raw') { + if (importType === "raw") { return `export default ${JSON.stringify(svg)}` } - if (svgo !== false && query !== 'skipsvgo') { + if (svgo !== false && query !== "skipsvgo") { svg = optimizeSvg(svg, { ...svgoConfig, - path + path, }).data } // To prevent compileTemplate from removing the style tag - svg = svg.replace(/