Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@hyrious/esbuild-plugin-svgo

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hyrious/esbuild-plugin-svgo - npm Package Compare versions

Comparing version
0.1.1
to
0.2.0
+44
-2
index.js

@@ -1,2 +0,44 @@

var l=Object.create;var s=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var p=t=>s(t,"__esModule",{value:!0});var h=(t,o)=>{p(t);for(var e in o)s(t,e,{get:o[e],enumerable:!0})},w=(t,o,e)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of v(o))!g.call(t,r)&&r!=="default"&&s(t,r,{get:()=>o[r],enumerable:!(e=u(o,r))||e.enumerable});return t},n=t=>w(p(s(t!=null?l(d(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);h(exports,{svgo:()=>O});var m=n(require("fs")),a=n(require("path")),c=n(require("svgo"));function O(t){return{name:"svgo",setup({onResolve:o,onLoad:e}){let r=process.cwd();o({filter:/\.svg$/},i=>({path:a.default.relative(r,a.default.join(i.resolveDir,i.path)),namespace:"svgo"})),e({filter:/.*/,namespace:"svgo"},async i=>{let f=await m.default.promises.readFile(i.path,"utf-8");return{contents:(0,c.optimize)(f,t).data,loader:"dataurl"}})}}}0&&(module.exports={svgo});
//# sourceMappingURL=index.js.map
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// index.ts
var esbuild_plugin_svgo_exports = {};
__export(esbuild_plugin_svgo_exports, {
default: () => esbuild_plugin_svgo_default,
svgo: () => svgo
});
module.exports = __toCommonJS(esbuild_plugin_svgo_exports);
var import_promises = require("fs/promises");
var import_svgo = require("svgo");
function svgo(config) {
return {
name: "svgo",
setup({ onLoad }) {
onLoad({ filter: /\.svg$/ }, async (args) => {
const raw = await (0, import_promises.readFile)(args.path, "utf-8");
const contents = (0, import_svgo.optimize)(raw, config).data;
return { contents, loader: "default" };
});
}
};
}
var esbuild_plugin_svgo_default = svgo;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
svgo
});
+17
-16
import { Plugin } from "esbuild";
import fs from "fs";
import path from "path";
import { optimize, OptimizeOptions } from "svgo";
import { readFile } from "fs/promises";
import { Config, optimize } from "svgo";
/**
* Use {@link https://github.com/svg/svgo SVGO} to optimize SVG files on load.
*
* @param config See {@link https://github.com/svg/svgo#configuration SVGO configuration} for details.
*
* @example
* ```js
* svgo({ multipass: true })
* ```
*/
export function svgo(options?: OptimizeOptions): Plugin {
export function svgo(config?: Config): Plugin {
return {
name: "svgo",
setup({ onResolve, onLoad }) {
const cwd = process.cwd();
onResolve({ filter: /\.svg$/ }, args => {
return { path: path.relative(cwd, path.join(args.resolveDir, args.path)), namespace: "svgo" };
});
onLoad({ filter: /.*/, namespace: "svgo" }, async args => {
const raw = await fs.promises.readFile(args.path, "utf-8");
const contents = optimize(raw, options).data;
return { contents, loader: "dataurl" };
});
setup({ onLoad }) {
onLoad({ filter: /\.svg$/ }, async args => {
const raw = await readFile(args.path, "utf-8");
const contents = optimize(raw, config).data;
return { contents, loader: 'default' };
})
},
};
}
export default svgo;
{
"name": "@hyrious/esbuild-plugin-svgo",
"version": "0.1.1",
"version": "0.2.0",
"description": "SVGO plugin for esbuild.",

@@ -10,7 +10,6 @@ "repository": "hyrious/esbuild-plugin-svgo",

"index.ts",
"index.js",
"index.js.map"
"index.js"
],
"scripts": {
"build": "esbuild --bundle --external:svgo --platform=node --outfile=index.js --minify --sourcemap --target=node12 index.ts",
"build": "esbuild index.ts --bundle --external:svgo --platform=node --outfile=index.js --target=node16.20",
"test": "npm run build && cd test && node build.js"

@@ -27,9 +26,10 @@ },

"devDependencies": {
"@types/node": "^16.3.1",
"@types/svgo": "^2.3.1",
"esbuild": "^0.12.15"
"@types/node": "^18.x",
"@types/svgo": "^3.0.0",
"esbuild": "^0.17.17",
"sucrase": "^3.32.0"
},
"dependencies": {
"svgo": "^2.3.1"
"svgo": "^3.0.2"
}
}

@@ -9,3 +9,3 @@ # @hyrious/esbuild-plugin-svgo

const { svgo } = require("@hyrious/esbuild-plugin-svgo");
// prettier-ignore
require("esbuild").build({

@@ -16,2 +16,3 @@ entryPoints: ["app.js"],

plugins: [svgo()],
loader: { '.svg': 'dataurl' },
}).catch(() => process.exit(1));

@@ -23,6 +24,6 @@ ```

```ts
export function svgo(options?: OptimizeOptions): Plugin;
export function svgo(config?: Config): Plugin;
```
See [SVGO Options](https://github.com/svg/svgo).
See [SVGO Options](https://github.com/svg/svgo#configuration).

@@ -29,0 +30,0 @@ ## License

{
"version": 3,
"sources": ["index.ts"],
"sourcesContent": ["import { Plugin } from \"esbuild\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport { optimize, OptimizeOptions } from \"svgo\";\n\n/**\n * @example\n * svgo({ multipass: true })\n */\nexport function svgo(options?: OptimizeOptions): Plugin {\n return {\n name: \"svgo\",\n setup({ onResolve, onLoad }) {\n const cwd = process.cwd();\n\n onResolve({ filter: /\\.svg$/ }, args => {\n return { path: path.relative(cwd, path.join(args.resolveDir, args.path)), namespace: \"svgo\" };\n });\n\n onLoad({ filter: /.*/, namespace: \"svgo\" }, async args => {\n const raw = await fs.promises.readFile(args.path, \"utf-8\");\n const contents = optimize(raw, options).data;\n return { contents, loader: \"dataurl\" };\n });\n },\n };\n}\n"],
"mappings": "mlBAAA,wBACA,MAAe,iBACf,EAAiB,mBACjB,EAA0C,mBAMnC,WAAc,EAAmC,CACtD,MAAO,CACL,KAAM,OACN,MAAM,CAAE,YAAW,UAAU,CAC3B,GAAM,GAAM,QAAQ,MAEpB,EAAU,CAAE,OAAQ,UAAY,GACvB,EAAE,KAAM,UAAK,SAAS,EAAK,UAAK,KAAK,EAAK,WAAY,EAAK,OAAQ,UAAW,UAGvF,EAAO,CAAE,OAAQ,KAAM,UAAW,QAAU,KAAM,IAAQ,CACxD,GAAM,GAAM,KAAM,WAAG,SAAS,SAAS,EAAK,KAAM,SAElD,MAAO,CAAE,SADQ,eAAS,EAAK,GAAS,KACrB,OAAQ",
"names": []
}