diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/svgo/lib/svgo-node.js | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/svgo/lib/svgo-node.js')
| -rw-r--r-- | node_modules/svgo/lib/svgo-node.js | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/node_modules/svgo/lib/svgo-node.js b/node_modules/svgo/lib/svgo-node.js deleted file mode 100644 index fc3ba8ab..00000000 --- a/node_modules/svgo/lib/svgo-node.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -const os = require('os'); -const fs = require('fs'); -const { pathToFileURL } = require('url'); -const path = require('path'); -const { optimize: optimizeAgnostic } = require('./svgo.js'); - -const importConfig = async (configFile) => { - let config; - // at the moment dynamic import may randomly fail with segfault - // to workaround this for some users .cjs extension is loaded - // exclusively with require - if (configFile.endsWith('.cjs')) { - config = require(configFile); - } else { - // dynamic import expects file url instead of path and may fail - // when windows path is provided - const { default: imported } = await import(pathToFileURL(configFile)); - config = imported; - } - if (config == null || typeof config !== 'object' || Array.isArray(config)) { - throw Error(`Invalid config file "${configFile}"`); - } - return config; -}; - -const isFile = async (file) => { - try { - const stats = await fs.promises.stat(file); - return stats.isFile(); - } catch { - return false; - } -}; - -const loadConfig = async (configFile, cwd = process.cwd()) => { - if (configFile != null) { - if (path.isAbsolute(configFile)) { - return await importConfig(configFile); - } else { - return await importConfig(path.join(cwd, configFile)); - } - } - let dir = cwd; - // eslint-disable-next-line no-constant-condition - while (true) { - const js = path.join(dir, 'svgo.config.js'); - if (await isFile(js)) { - return await importConfig(js); - } - const mjs = path.join(dir, 'svgo.config.mjs'); - if (await isFile(mjs)) { - return await importConfig(mjs); - } - const cjs = path.join(dir, 'svgo.config.cjs'); - if (await isFile(cjs)) { - return await importConfig(cjs); - } - const parent = path.dirname(dir); - if (dir === parent) { - return null; - } - dir = parent; - } -}; -exports.loadConfig = loadConfig; - -const optimize = (input, config) => { - if (config == null) { - config = {}; - } - if (typeof config !== 'object') { - throw Error('Config should be an object'); - } - return optimizeAgnostic(input, { - ...config, - js2svg: { - // platform specific default for end of line - eol: os.EOL === '\r\n' ? 'crlf' : 'lf', - ...config.js2svg, - }, - }); -}; -exports.optimize = optimize; |
