postcss-image-inliner
Advanced tools
Comparing version 5.0.0 to 6.0.0
12
index.js
'use strict'; | ||
const debug = require('debug')('image-inliner'); | ||
const escapeRegExp = require('escape-string-regexp'); | ||
const {getDataUriMapping} = require('./lib/image'); | ||
@@ -12,2 +11,12 @@ | ||
strict: false, | ||
svgoPlugins: [ | ||
{ | ||
name: 'preset-default', | ||
params: { | ||
overrides: { | ||
removeViewBox: false, | ||
}, | ||
}, | ||
}, | ||
], | ||
}; | ||
@@ -44,2 +53,3 @@ | ||
const mapping = await getDataUriMapping([...urls], options); | ||
const {default: escapeRegExp} = await import('escape-string-regexp'); | ||
@@ -46,0 +56,0 @@ root.walkDecls( |
'use strict'; | ||
const path = require('path'); | ||
const SVGO = require('svgo'); | ||
const {optimize /* , extendDefaultPlugins */} = require('svgo'); | ||
const filesize = require('filesize'); | ||
@@ -9,4 +9,2 @@ const debug = require('debug')('image-inliner'); | ||
const svgo = new SVGO(); | ||
// Borrowed from https://github.com/filamentgroup/directory-encoder/blob/master/lib/svg-uri-encoder.js | ||
@@ -56,3 +54,7 @@ function encodeSvg(content) { | ||
if (file.mime === 'image/svg+xml' && !options.b64Svg) { | ||
const optimized = await svgo.optimize(file.contents.toString('utf-8')); | ||
const optimized = await optimize(file.contents.toString('utf-8'), { | ||
path: file.path, | ||
multipass: true, | ||
plugins: options.svgoPlugins, | ||
}); | ||
return `data:image/svg+xml,${encodeSvg(optimized.data)}`; | ||
@@ -59,0 +61,0 @@ } |
{ | ||
"name": "postcss-image-inliner", | ||
"version": "5.0.0", | ||
"version": "6.0.0", | ||
"description": "PostCSS plugin to inline images into css", | ||
@@ -24,15 +24,20 @@ "keywords": [ | ||
"dependencies": { | ||
"asset-resolver": "^3.0.4", | ||
"debug": "^4.3.1", | ||
"escape-string-regexp": "^4.0.0", | ||
"filesize": "^6.1.0", | ||
"svgo": "^1.3.2" | ||
"asset-resolver": "^3.0.5", | ||
"debug": "^4.3.4", | ||
"escape-string-regexp": "^5.0.0", | ||
"filesize": "^9.0.11", | ||
"svgo": "^2.8.0" | ||
}, | ||
"devDependencies": { | ||
"chai": "^4.2.0", | ||
"finalhandler": "^1.1.2", | ||
"mocha": "^8.2.1", | ||
"serve-static": "^1.14.1", | ||
"postcss": "^8.3.0", | ||
"xo": "^0.39.1" | ||
"chai": "^4.3.6", | ||
"eslint": "^8.23.1", | ||
"eslint-config-prettier": "^8.5.0", | ||
"eslint-config-xo": "^0.42.0", | ||
"eslint-config-xo-space": "^0.33.0", | ||
"eslint-plugin-prettier": "^4.2.1", | ||
"finalhandler": "^1.2.0", | ||
"mocha": "^10.0.0", | ||
"postcss": "^8.4.16", | ||
"prettier": "^2.7.1", | ||
"serve-static": "^1.15.0" | ||
}, | ||
@@ -43,5 +48,5 @@ "peerDependencies": { | ||
"scripts": { | ||
"xo": "xo", | ||
"lint": "eslint **/*.js --fix", | ||
"mocha": "mocha", | ||
"test": "npm run xo && npm run mocha" | ||
"test": "npm run lint && npm run mocha" | ||
}, | ||
@@ -54,15 +59,25 @@ "prettier": { | ||
}, | ||
"xo": { | ||
"space": 2, | ||
"prettier": true, | ||
"eslintConfig": { | ||
"env": { | ||
"browser": true, | ||
"commonjs": true, | ||
"es2021": true | ||
}, | ||
"extends": [ | ||
"xo-space", | ||
"prettier" | ||
], | ||
"plugins": [ | ||
"prettier" | ||
], | ||
"rules": { | ||
"capitalized-comments": "off", | ||
"default-param-last": "off", | ||
"promise/prefer-await-to-then": "off", | ||
"import/extensions": 0 | ||
} | ||
"prettier/prettier": [ | ||
"error" | ||
] | ||
}, | ||
"overrides": [] | ||
}, | ||
"engines": { | ||
"node": "^10 || ^12 || >=14" | ||
"node": "^12 || >=14" | ||
} | ||
} |
@@ -75,2 +75,10 @@ # PostCSS Image Inliner [![Build Status][ci-img]][ci] | ||
#### svgoPlugins | ||
* Type: `array` | ||
* Default: `[]` | ||
* Required: `false` | ||
Use custom svgo configuration for svg optimization | ||
#### strict | ||
@@ -77,0 +85,0 @@ |
144
90
9309
11
5
+ Added@trysound/sax@0.2.0(transitive)
+ Addedcommander@7.2.0(transitive)
+ Addedcss-select@4.3.0(transitive)
+ Addedcss-what@6.1.0(transitive)
+ Addeddom-serializer@1.4.1(transitive)
+ Addeddomhandler@4.3.1(transitive)
+ Addeddomutils@2.8.0(transitive)
+ Addedescape-string-regexp@5.0.0(transitive)
+ Addedfilesize@9.0.11(transitive)
+ Addednth-check@2.1.1(transitive)
+ Addedsvgo@2.8.0(transitive)
- Removed@types/q@1.5.8(transitive)
- Removedargparse@1.0.10(transitive)
- Removedarray-buffer-byte-length@1.0.1(transitive)
- Removedarray.prototype.reduce@1.0.7(transitive)
- Removedarraybuffer.prototype.slice@1.0.3(transitive)
- Removedavailable-typed-arrays@1.0.7(transitive)
- Removedcall-bind@1.0.7(transitive)
- Removedcoa@2.0.2(transitive)
- Removedcss-select@2.1.0(transitive)
- Removedcss-select-base-adapter@0.1.1(transitive)
- Removedcss-tree@1.0.0-alpha.37(transitive)
- Removedcss-what@3.4.2(transitive)
- Removeddata-view-buffer@1.0.1(transitive)
- Removeddata-view-byte-length@1.0.1(transitive)
- Removeddata-view-byte-offset@1.0.0(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removeddefine-properties@1.2.1(transitive)
- Removeddom-serializer@0.2.2(transitive)
- Removeddomelementtype@1.3.1(transitive)
- Removeddomutils@1.7.0(transitive)
- Removedes-abstract@1.23.3(transitive)
- Removedes-array-method-boxes-properly@1.0.0(transitive)
- Removedes-define-property@1.0.0(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedes-object-atoms@1.0.0(transitive)
- Removedes-set-tostringtag@2.0.3(transitive)
- Removedes-to-primitive@1.2.1(transitive)
- Removedescape-string-regexp@4.0.0(transitive)
- Removedesprima@4.0.1(transitive)
- Removedfilesize@6.4.0(transitive)
- Removedfor-each@0.3.3(transitive)
- Removedfunction.prototype.name@1.1.6(transitive)
- Removedfunctions-have-names@1.2.3(transitive)
- Removedget-intrinsic@1.2.4(transitive)
- Removedget-symbol-description@1.0.2(transitive)
- Removedglobalthis@1.0.4(transitive)
- Removedgopd@1.0.1(transitive)
- Removedhas-bigints@1.0.2(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedhas-proto@1.0.3(transitive)
- Removedhas-symbols@1.0.3(transitive)
- Removedhas-tostringtag@1.0.2(transitive)
- Removedinternal-slot@1.0.7(transitive)
- Removedis-array-buffer@3.0.4(transitive)
- Removedis-bigint@1.0.4(transitive)
- Removedis-boolean-object@1.1.2(transitive)
- Removedis-callable@1.2.7(transitive)
- Removedis-data-view@1.0.1(transitive)
- Removedis-date-object@1.0.5(transitive)
- Removedis-negative-zero@2.0.3(transitive)
- Removedis-number-object@1.0.7(transitive)
- Removedis-regex@1.1.4(transitive)
- Removedis-shared-array-buffer@1.0.3(transitive)
- Removedis-string@1.0.7(transitive)
- Removedis-symbol@1.0.4(transitive)
- Removedis-typed-array@1.1.13(transitive)
- Removedis-weakref@1.0.2(transitive)
- Removedisarray@2.0.5(transitive)
- Removedjs-yaml@3.14.1(transitive)
- Removedmdn-data@2.0.4(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removednth-check@1.0.2(transitive)
- Removedobject-inspect@1.13.2(transitive)
- Removedobject-keys@1.1.1(transitive)
- Removedobject.assign@4.1.5(transitive)
- Removedobject.getownpropertydescriptors@2.1.8(transitive)
- Removedobject.values@1.2.0(transitive)
- Removedpossible-typed-array-names@1.0.0(transitive)
- Removedq@1.5.1(transitive)
- Removedregexp.prototype.flags@1.5.2(transitive)
- Removedsafe-array-concat@1.1.2(transitive)
- Removedsafe-regex-test@1.0.3(transitive)
- Removedsax@1.2.4(transitive)
- Removedset-function-length@1.2.2(transitive)
- Removedset-function-name@2.0.2(transitive)
- Removedside-channel@1.0.6(transitive)
- Removedsprintf-js@1.0.3(transitive)
- Removedstring.prototype.trim@1.2.9(transitive)
- Removedstring.prototype.trimend@1.0.8(transitive)
- Removedstring.prototype.trimstart@1.0.8(transitive)
- Removedsvgo@1.3.2(transitive)
- Removedtyped-array-buffer@1.0.2(transitive)
- Removedtyped-array-byte-length@1.0.1(transitive)
- Removedtyped-array-byte-offset@1.0.2(transitive)
- Removedtyped-array-length@1.0.6(transitive)
- Removedunbox-primitive@1.0.2(transitive)
- Removedunquote@1.1.1(transitive)
- Removedutil.promisify@1.0.1(transitive)
- Removedwhich-boxed-primitive@1.0.2(transitive)
- Removedwhich-typed-array@1.1.15(transitive)
Updatedasset-resolver@^3.0.5
Updateddebug@^4.3.4
Updatedescape-string-regexp@^5.0.0
Updatedfilesize@^9.0.11
Updatedsvgo@^2.8.0