{ "name": "@iconify/tools", "type": "module", "description": "Collection of functions for cleaning up and parsing SVG for Iconify project", "author": "Vjacheslav Trushkin", "version": "4.2.0", "license": "MIT", "bugs": "https://github.com/iconify/tools/issues", "homepage": "https://github.com/iconify/tools", "repository": { "type": "git", "url": "git://github.com/iconify/tools.git" }, "main": "./lib/index.cjs", "module": "./lib/index.mjs", "types": "./lib/index.d.ts", "dependencies": { "@iconify/types": "^2.0.0", "@iconify/utils": "^2.3.0", "cheerio": "^1.1.2", "domhandler": "^5.0.3", "extract-zip": "^2.0.1", "local-pkg": "^1.1.2", "pathe": "^2.0.3", "svgo": "^3.3.2", "tar": "^7.5.2" }, "devDependencies": { "@types/jest": "^30.0.0", "@types/node": "^24.10.1", "@typescript-eslint/eslint-plugin": "^8.48.0", "@typescript-eslint/parser": "^8.48.0", "cross-env": "^10.1.0", "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "globals": "^16.5.0", "jest": "^30.2.0", "prettier": "^3.6.2", "rimraf": "^6.1.2", "ts-jest": "^29.4.5", "typescript": "^5.9.3", "unbuild": "^2.0.0" }, "exports": { "./*": "./*", ".": { "types": "./lib/index.d.ts", "require": "./lib/index.cjs", "import": "./lib/index.mjs" }, "./lib/colors/attribs": { "types": "./lib/colors/attribs.d.ts", "require": "./lib/colors/attribs.cjs", "import": "./lib/colors/attribs.mjs" }, "./lib/colors/detect": { "types": "./lib/colors/detect.d.ts", "require": "./lib/colors/detect.cjs", "import": "./lib/colors/detect.mjs" }, "./lib/colors/parse": { "types": "./lib/colors/parse.d.ts", "require": "./lib/colors/parse.cjs", "import": "./lib/colors/parse.mjs" }, "./lib/colors/validate": { "types": "./lib/colors/validate.d.ts", "require": "./lib/colors/validate.cjs", "import": "./lib/colors/validate.mjs" }, "./lib/css/parse": { "types": "./lib/css/parse.d.ts", "require": "./lib/css/parse.cjs", "import": "./lib/css/parse.mjs" }, "./lib/css/parser/error": { "types": "./lib/css/parser/error.d.ts", "require": "./lib/css/parser/error.cjs", "import": "./lib/css/parser/error.mjs" }, "./lib/css/parser/export": { "types": "./lib/css/parser/export.d.ts", "require": "./lib/css/parser/export.cjs", "import": "./lib/css/parser/export.mjs" }, "./lib/css/parser/strings": { "types": "./lib/css/parser/strings.d.ts", "require": "./lib/css/parser/strings.cjs", "import": "./lib/css/parser/strings.mjs" }, "./lib/css/parser/text": { "types": "./lib/css/parser/text.d.ts", "require": "./lib/css/parser/text.cjs", "import": "./lib/css/parser/text.mjs" }, "./lib/css/parser/tokens": { "types": "./lib/css/parser/tokens.d.ts", "require": "./lib/css/parser/tokens.cjs", "import": "./lib/css/parser/tokens.mjs" }, "./lib/css/parser/tree": { "types": "./lib/css/parser/tree.d.ts", "require": "./lib/css/parser/tree.cjs", "import": "./lib/css/parser/tree.mjs" }, "./lib/css/parser/types": { "types": "./lib/css/parser/types.d.ts", "require": "./lib/css/parser/types.cjs", "import": "./lib/css/parser/types.mjs" }, "./lib/download/api/cache": { "types": "./lib/download/api/cache.d.ts", "require": "./lib/download/api/cache.cjs", "import": "./lib/download/api/cache.mjs" }, "./lib/download/api/config": { "types": "./lib/download/api/config.d.ts", "require": "./lib/download/api/config.cjs", "import": "./lib/download/api/config.mjs" }, "./lib/download/api/download": { "types": "./lib/download/api/download.d.ts", "require": "./lib/download/api/download.cjs", "import": "./lib/download/api/download.mjs" }, "./lib/download/api/fetch": { "types": "./lib/download/api/fetch.d.ts", "require": "./lib/download/api/fetch.cjs", "import": "./lib/download/api/fetch.mjs" }, "./lib/download/api": { "types": "./lib/download/api/index.d.ts", "require": "./lib/download/api/index.cjs", "import": "./lib/download/api/index.mjs" }, "./lib/download/api/index": { "types": "./lib/download/api/index.d.ts", "require": "./lib/download/api/index.cjs", "import": "./lib/download/api/index.mjs" }, "./lib/download/api/queue": { "types": "./lib/download/api/queue.d.ts", "require": "./lib/download/api/queue.cjs", "import": "./lib/download/api/queue.mjs" }, "./lib/download/api/types": { "types": "./lib/download/api/types.d.ts", "require": "./lib/download/api/types.cjs", "import": "./lib/download/api/types.mjs" }, "./lib/download/git/branch": { "types": "./lib/download/git/branch.d.ts", "require": "./lib/download/git/branch.cjs", "import": "./lib/download/git/branch.mjs" }, "./lib/download/git/hash": { "types": "./lib/download/git/hash.d.ts", "require": "./lib/download/git/hash.cjs", "import": "./lib/download/git/hash.mjs" }, "./lib/download/git": { "types": "./lib/download/git/index.d.ts", "require": "./lib/download/git/index.cjs", "import": "./lib/download/git/index.mjs" }, "./lib/download/git/index": { "types": "./lib/download/git/index.d.ts", "require": "./lib/download/git/index.cjs", "import": "./lib/download/git/index.mjs" }, "./lib/download/git/reset": { "types": "./lib/download/git/reset.d.ts", "require": "./lib/download/git/reset.cjs", "import": "./lib/download/git/reset.mjs" }, "./lib/download/github/hash": { "types": "./lib/download/github/hash.d.ts", "require": "./lib/download/github/hash.cjs", "import": "./lib/download/github/hash.mjs" }, "./lib/download/github": { "types": "./lib/download/github/index.d.ts", "require": "./lib/download/github/index.cjs", "import": "./lib/download/github/index.mjs" }, "./lib/download/github/index": { "types": "./lib/download/github/index.d.ts", "require": "./lib/download/github/index.cjs", "import": "./lib/download/github/index.mjs" }, "./lib/download/github/types": { "types": "./lib/download/github/types.d.ts", "require": "./lib/download/github/types.cjs", "import": "./lib/download/github/types.mjs" }, "./lib/download/gitlab/hash": { "types": "./lib/download/gitlab/hash.d.ts", "require": "./lib/download/gitlab/hash.cjs", "import": "./lib/download/gitlab/hash.mjs" }, "./lib/download/gitlab": { "types": "./lib/download/gitlab/index.d.ts", "require": "./lib/download/gitlab/index.cjs", "import": "./lib/download/gitlab/index.mjs" }, "./lib/download/gitlab/index": { "types": "./lib/download/gitlab/index.d.ts", "require": "./lib/download/gitlab/index.cjs", "import": "./lib/download/gitlab/index.mjs" }, "./lib/download/gitlab/types": { "types": "./lib/download/gitlab/types.d.ts", "require": "./lib/download/gitlab/types.cjs", "import": "./lib/download/gitlab/types.mjs" }, "./lib/download/helpers/untar": { "types": "./lib/download/helpers/untar.d.ts", "require": "./lib/download/helpers/untar.cjs", "import": "./lib/download/helpers/untar.mjs" }, "./lib/download/helpers/unzip": { "types": "./lib/download/helpers/unzip.d.ts", "require": "./lib/download/helpers/unzip.cjs", "import": "./lib/download/helpers/unzip.mjs" }, "./lib/download": { "types": "./lib/download/index.d.ts", "require": "./lib/download/index.cjs", "import": "./lib/download/index.mjs" }, "./lib/download/index": { "types": "./lib/download/index.d.ts", "require": "./lib/download/index.cjs", "import": "./lib/download/index.mjs" }, "./lib/download/npm": { "types": "./lib/download/npm/index.d.ts", "require": "./lib/download/npm/index.cjs", "import": "./lib/download/npm/index.mjs" }, "./lib/download/npm/index": { "types": "./lib/download/npm/index.d.ts", "require": "./lib/download/npm/index.cjs", "import": "./lib/download/npm/index.mjs" }, "./lib/download/npm/types": { "types": "./lib/download/npm/types.d.ts", "require": "./lib/download/npm/types.cjs", "import": "./lib/download/npm/types.mjs" }, "./lib/download/npm/version": { "types": "./lib/download/npm/version.d.ts", "require": "./lib/download/npm/version.cjs", "import": "./lib/download/npm/version.mjs" }, "./lib/download/types/modified": { "types": "./lib/download/types/modified.d.ts", "require": "./lib/download/types/modified.cjs", "import": "./lib/download/types/modified.mjs" }, "./lib/download/types/sources": { "types": "./lib/download/types/sources.d.ts", "require": "./lib/download/types/sources.cjs", "import": "./lib/download/types/sources.mjs" }, "./lib/export/directory": { "types": "./lib/export/directory.d.ts", "require": "./lib/export/directory.cjs", "import": "./lib/export/directory.mjs" }, "./lib/export/helpers/custom-files": { "types": "./lib/export/helpers/custom-files.d.ts", "require": "./lib/export/helpers/custom-files.cjs", "import": "./lib/export/helpers/custom-files.mjs" }, "./lib/export/helpers/prepare": { "types": "./lib/export/helpers/prepare.d.ts", "require": "./lib/export/helpers/prepare.cjs", "import": "./lib/export/helpers/prepare.mjs" }, "./lib/export/helpers/types-version": { "types": "./lib/export/helpers/types-version.d.ts", "require": "./lib/export/helpers/types-version.cjs", "import": "./lib/export/helpers/types-version.mjs" }, "./lib/export/icon-package": { "types": "./lib/export/icon-package.d.ts", "require": "./lib/export/icon-package.cjs", "import": "./lib/export/icon-package.mjs" }, "./lib/export/json-package": { "types": "./lib/export/json-package.d.ts", "require": "./lib/export/json-package.cjs", "import": "./lib/export/json-package.mjs" }, "./lib/icon-set": { "types": "./lib/icon-set/index.d.ts", "require": "./lib/icon-set/index.cjs", "import": "./lib/icon-set/index.mjs" }, "./lib/icon-set/index": { "types": "./lib/icon-set/index.d.ts", "require": "./lib/icon-set/index.cjs", "import": "./lib/icon-set/index.mjs" }, "./lib/icon-set/match": { "types": "./lib/icon-set/match.d.ts", "require": "./lib/icon-set/match.cjs", "import": "./lib/icon-set/match.mjs" }, "./lib/icon-set/merge": { "types": "./lib/icon-set/merge.d.ts", "require": "./lib/icon-set/merge.cjs", "import": "./lib/icon-set/merge.mjs" }, "./lib/icon-set/modified": { "types": "./lib/icon-set/modified.d.ts", "require": "./lib/icon-set/modified.cjs", "import": "./lib/icon-set/modified.mjs" }, "./lib/icon-set/props": { "types": "./lib/icon-set/props.d.ts", "require": "./lib/icon-set/props.cjs", "import": "./lib/icon-set/props.mjs" }, "./lib/icon-set/tags": { "types": "./lib/icon-set/tags.d.ts", "require": "./lib/icon-set/tags.cjs", "import": "./lib/icon-set/tags.mjs" }, "./lib/icon-set/types": { "types": "./lib/icon-set/types.d.ts", "require": "./lib/icon-set/types.cjs", "import": "./lib/icon-set/types.mjs" }, "./lib/import/directory": { "types": "./lib/import/directory.d.ts", "require": "./lib/import/directory.cjs", "import": "./lib/import/directory.mjs" }, "./lib/import/figma": { "types": "./lib/import/figma/index.d.ts", "require": "./lib/import/figma/index.cjs", "import": "./lib/import/figma/index.mjs" }, "./lib/import/figma/index": { "types": "./lib/import/figma/index.d.ts", "require": "./lib/import/figma/index.cjs", "import": "./lib/import/figma/index.mjs" }, "./lib/import/figma/nodes": { "types": "./lib/import/figma/nodes.d.ts", "require": "./lib/import/figma/nodes.cjs", "import": "./lib/import/figma/nodes.mjs" }, "./lib/import/figma/query": { "types": "./lib/import/figma/query.d.ts", "require": "./lib/import/figma/query.cjs", "import": "./lib/import/figma/query.mjs" }, "./lib/import/figma/types/api": { "types": "./lib/import/figma/types/api.d.ts", "require": "./lib/import/figma/types/api.cjs", "import": "./lib/import/figma/types/api.mjs" }, "./lib/import/figma/types/nodes": { "types": "./lib/import/figma/types/nodes.d.ts", "require": "./lib/import/figma/types/nodes.cjs", "import": "./lib/import/figma/types/nodes.mjs" }, "./lib/import/figma/types/options": { "types": "./lib/import/figma/types/options.d.ts", "require": "./lib/import/figma/types/options.cjs", "import": "./lib/import/figma/types/options.mjs" }, "./lib/import/figma/types/result": { "types": "./lib/import/figma/types/result.d.ts", "require": "./lib/import/figma/types/result.cjs", "import": "./lib/import/figma/types/result.mjs" }, "./lib": { "types": "./lib/index.d.ts", "require": "./lib/index.cjs", "import": "./lib/index.mjs" }, "./lib/index": { "types": "./lib/index.d.ts", "require": "./lib/index.cjs", "import": "./lib/index.mjs" }, "./lib/misc/bump-version": { "types": "./lib/misc/bump-version.d.ts", "require": "./lib/misc/bump-version.cjs", "import": "./lib/misc/bump-version.mjs" }, "./lib/misc/cheerio": { "types": "./lib/misc/cheerio.d.ts", "require": "./lib/misc/cheerio.cjs", "import": "./lib/misc/cheerio.mjs" }, "./lib/misc/compare-dirs": { "types": "./lib/misc/compare-dirs.d.ts", "require": "./lib/misc/compare-dirs.cjs", "import": "./lib/misc/compare-dirs.mjs" }, "./lib/misc/exec": { "types": "./lib/misc/exec.d.ts", "require": "./lib/misc/exec.cjs", "import": "./lib/misc/exec.mjs" }, "./lib/misc/keyword": { "types": "./lib/misc/keyword.d.ts", "require": "./lib/misc/keyword.cjs", "import": "./lib/misc/keyword.mjs" }, "./lib/misc/scan": { "types": "./lib/misc/scan.d.ts", "require": "./lib/misc/scan.cjs", "import": "./lib/misc/scan.mjs" }, "./lib/misc/write-json": { "types": "./lib/misc/write-json.d.ts", "require": "./lib/misc/write-json.cjs", "import": "./lib/misc/write-json.mjs" }, "./lib/optimise/figma": { "types": "./lib/optimise/figma.d.ts", "require": "./lib/optimise/figma.cjs", "import": "./lib/optimise/figma.mjs" }, "./lib/optimise/flags": { "types": "./lib/optimise/flags.d.ts", "require": "./lib/optimise/flags.cjs", "import": "./lib/optimise/flags.mjs" }, "./lib/optimise/global-style": { "types": "./lib/optimise/global-style.d.ts", "require": "./lib/optimise/global-style.cjs", "import": "./lib/optimise/global-style.mjs" }, "./lib/optimise/mask": { "types": "./lib/optimise/mask.d.ts", "require": "./lib/optimise/mask.cjs", "import": "./lib/optimise/mask.mjs" }, "./lib/optimise/origin": { "types": "./lib/optimise/origin.d.ts", "require": "./lib/optimise/origin.cjs", "import": "./lib/optimise/origin.mjs" }, "./lib/optimise/scale": { "types": "./lib/optimise/scale.d.ts", "require": "./lib/optimise/scale.cjs", "import": "./lib/optimise/scale.mjs" }, "./lib/optimise/svgo": { "types": "./lib/optimise/svgo.d.ts", "require": "./lib/optimise/svgo.cjs", "import": "./lib/optimise/svgo.mjs" }, "./lib/optimise/unwrap": { "types": "./lib/optimise/unwrap.d.ts", "require": "./lib/optimise/unwrap.cjs", "import": "./lib/optimise/unwrap.mjs" }, "./lib/svg/analyse": { "types": "./lib/svg/analyse.d.ts", "require": "./lib/svg/analyse.cjs", "import": "./lib/svg/analyse.mjs" }, "./lib/svg/analyse/error": { "types": "./lib/svg/analyse/error.d.ts", "require": "./lib/svg/analyse/error.cjs", "import": "./lib/svg/analyse/error.mjs" }, "./lib/svg/analyse/types": { "types": "./lib/svg/analyse/types.d.ts", "require": "./lib/svg/analyse/types.cjs", "import": "./lib/svg/analyse/types.mjs" }, "./lib/svg/cleanup": { "types": "./lib/svg/cleanup.d.ts", "require": "./lib/svg/cleanup.cjs", "import": "./lib/svg/cleanup.mjs" }, "./lib/svg/cleanup/attribs": { "types": "./lib/svg/cleanup/attribs.d.ts", "require": "./lib/svg/cleanup/attribs.cjs", "import": "./lib/svg/cleanup/attribs.mjs" }, "./lib/svg/cleanup/bad-tags": { "types": "./lib/svg/cleanup/bad-tags.d.ts", "require": "./lib/svg/cleanup/bad-tags.cjs", "import": "./lib/svg/cleanup/bad-tags.mjs" }, "./lib/svg/cleanup/inline-style": { "types": "./lib/svg/cleanup/inline-style.d.ts", "require": "./lib/svg/cleanup/inline-style.cjs", "import": "./lib/svg/cleanup/inline-style.mjs" }, "./lib/svg/cleanup/root-style": { "types": "./lib/svg/cleanup/root-style.d.ts", "require": "./lib/svg/cleanup/root-style.cjs", "import": "./lib/svg/cleanup/root-style.mjs" }, "./lib/svg/cleanup/root-svg": { "types": "./lib/svg/cleanup/root-svg.d.ts", "require": "./lib/svg/cleanup/root-svg.cjs", "import": "./lib/svg/cleanup/root-svg.mjs" }, "./lib/svg/cleanup/svgo-style": { "types": "./lib/svg/cleanup/svgo-style.d.ts", "require": "./lib/svg/cleanup/svgo-style.cjs", "import": "./lib/svg/cleanup/svgo-style.mjs" }, "./lib/svg/data/attributes": { "types": "./lib/svg/data/attributes.d.ts", "require": "./lib/svg/data/attributes.cjs", "import": "./lib/svg/data/attributes.mjs" }, "./lib/svg/data/tags": { "types": "./lib/svg/data/tags.d.ts", "require": "./lib/svg/data/tags.cjs", "import": "./lib/svg/data/tags.mjs" }, "./lib/svg": { "types": "./lib/svg/index.d.ts", "require": "./lib/svg/index.cjs", "import": "./lib/svg/index.mjs" }, "./lib/svg/index": { "types": "./lib/svg/index.d.ts", "require": "./lib/svg/index.cjs", "import": "./lib/svg/index.mjs" }, "./lib/svg/parse": { "types": "./lib/svg/parse.d.ts", "require": "./lib/svg/parse.cjs", "import": "./lib/svg/parse.mjs" }, "./lib/svg/parse-style": { "types": "./lib/svg/parse-style.d.ts", "require": "./lib/svg/parse-style.cjs", "import": "./lib/svg/parse-style.mjs" }, "./lib/tests/helpers": { "types": "./lib/tests/helpers.d.ts", "require": "./lib/tests/helpers.cjs", "import": "./lib/tests/helpers.mjs" } }, "scripts": { "clean": "rimraf lib tests-compiled tsconfig.tsbuildinfo", "lint": "eslint src/**/*.ts", "prebuild": "npm run lint && npm run clean", "build": "unbuild", "test:jest-cjs": "jest --clearCache --config=jest.config.cjs && jest --runInBand --config=jest.config.cjs", "test:jest-esm": "cross-env NODE_OPTIONS=--experimental-vm-modules TEST_REMOTE=false jest --clearCache --config=jest.config.mjs && cross-env NODE_OPTIONS=--experimental-vm-modules npx jest --runInBand --config=jest.config.mjs", "test": "npm run test:jest-cjs && npm run test:jest-esm", "test:ci": "cross-env TEST_REMOTE=false npm run test" } }