package.json
Rama chore/all-my-stuffs · réplica de lectura del repositorio original.
{
"name": "it-tools",
"version": "2026.10.25",
"description": "Collection of handy online tools for developers, with great UX. ",
"keywords": [
"converter",
"developer-productivity",
"developer-tools",
"frontend",
"productivity",
"tool",
"tools",
"vuejs",
"website"
],
"license": "GNU GPLv3",
"author": "Corentin Th <corentin.thomasset74+it-tools@gmail.com> (https://corentin.tech)",
"repository": {
"type": "git",
"url": "https://github.com/sharevb/it-tools"
},
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview --port 5050",
"test:unit": "vitest",
"test:e2e": "playwright test",
"coverage": "vitest run --coverage",
"typecheck": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
"lint": "oxlint src",
"lint:fix": "oxlint src --fix",
"fmt": "oxfmt src",
"fmt:check": "oxfmt --check src",
"script:create:tool": "node scripts/create-tool.mjs",
"script:create:ui": "hygen generator ui-component",
"release": "node ./scripts/release.mjs",
"script:extract:desc": "node ./scripts/extract-tools-desc.mjs",
"script:extract:strings": "node ./scripts/extract-tools-strings.mjs",
"script:update:git-templates": "node ./scripts/update-git-templates.mjs",
"script:translate-missing": "node ./scripts/translate-missings.mjs -e ./locales/en.yml -t ./locales/*.yml",
"vue-i18n-extract": "vue-i18n-extract report --vueFiles 'src/**/*.?(ts|vue)' --languageFiles 'locales/*.yml'",
"precommit": "pnpm install --ignore-scripts && pnpm lint:fix && pnpm typecheck"
},
"dependencies": {
"@boxyhq/saml20": "^1.16.0",
"@chenfengyuan/vue-barcode": "^2.0.2",
"@codemirror/lang-cpp": "^6.0.3",
"@codemirror/lang-css": "^6.3.1",
"@codemirror/lang-go": "^6.0.1",
"@codemirror/lang-html": "^6.4.11",
"@codemirror/lang-javascript": "^6.2.5",
"@codemirror/lang-json": "^6.0.2",
"@codemirror/lang-markdown": "^6.5.0",
"@codemirror/lang-php": "^6.0.2",
"@codemirror/lang-python": "^6.2.1",
"@codemirror/lang-sql": "^6.10.0",
"@codemirror/lang-xml": "^6.1.0",
"@codemirror/lang-yaml": "^6.1.3",
"@codemirror/language": "^6.12.4",
"@codemirror/state": "^6.7.0",
"@codemirror/theme-one-dark": "^6.1.3",
"@codemirror/view": "^6.43.5",
"@colordx/core": "^5.5.0",
"@date-fns/utc": "^2.1.1",
"@dice-roller/rpg-dice-roller": "^5.5.1",
"@faker-js/faker": "^10.5.0",
"@ffmpeg/core": "0.12.10",
"@ffmpeg/ffmpeg": "^0.12.15",
"@finegym/fitness-calc": "^1.0.1",
"@fontsource/open-sans": "^5.3.0",
"@fontsource/varela-round": "^5.3.0",
"@fortawesome/fontawesome-svg-core": "^7.3.0",
"@fortawesome/free-solid-svg-icons": "^7.3.0",
"@fortawesome/vue-fontawesome": "^3.3.1",
"@github/paste-markdown": "^1.5.3",
"@guolao/vue-monaco-editor": "^1.6.0",
"@guyplusplus/turndown-plugin-gfm": "^1.0.7",
"@huggingface/transformers": "3.7.6",
"@iplookup/country-extra": "^1.0.20260711",
"@it-tools/bip39": "^0.0.4",
"@it-tools/oggen": "^1.3.0",
"@jsonquerylang/jsonquery": "^5.1.1",
"@kenjiuno/decompressrtf": "^0.1.4",
"@kenjiuno/msgreader": "^1.28.0",
"@langfreak/convert-layout": "^0.11.2",
"@lezer/highlight": "^1.2.3",
"@mdit/plugin-align": "^0.16.0",
"@noble/ciphers": "^1.3.0",
"@plausible-analytics/tracker": "^0.4.6",
"@regexper/render": "^1.0.0",
"@resvg/resvg-wasm": "^2.6.2",
"@sindresorhus/slugify": "^3.0.0",
"@skeepit/unicode-to-gsm7": "^1.0.0",
"@tabler/icons-vue": "^3.44.0",
"@tesseract.js-data/chi_sim": "^1.0.0",
"@tesseract.js-data/eng": "^1.0.0",
"@tiptap/core": "^3.31.3",
"@tiptap/extension-color": "^3.31.3",
"@tiptap/extension-gapcursor": "^3.31.3",
"@tiptap/extension-highlight": "^3.31.3",
"@tiptap/extension-table": "^3.31.3",
"@tiptap/extension-text-align": "^3.31.3",
"@tiptap/extension-text-style": "^3.31.3",
"@tiptap/extensions": "^3.31.3",
"@tiptap/pm": "^3.31.3",
"@tiptap/starter-kit": "^3.31.3",
"@tiptap/vue-3": "^3.31.3",
"@toon-format/toon": "^4.1.1",
"@types/haversine": "^1.1.8",
"@types/html-to-text": "^9.0.4",
"@types/swagger-ui-dist": "^3.30.6",
"@unicode/unicode-15.1.0": "^1.6.17",
"@vicons/material": "^0.12.0",
"@vicons/tabler": "^0.12.0",
"@vueuse/core": "^10.11.1",
"@vueuse/head": "^1.3.1",
"@vueuse/integrations": "^14.3.0",
"@vueuse/router": "^10.11.1",
"@xmldom/xmldom": "^0.8.15",
"@xterm/xterm": "^5.5.0",
"@younestouati/playing-cards-standard-deck": "^6.0.1",
"@zxcvbn-ts/core": "^3.0.4",
"@zxcvbn-ts/language-common": "^3.0.4",
"@zxcvbn-ts/language-en": "^3.0.2",
"@zxing/library": "^0.23.0",
"a11y-color-contrast": "^0.2.0",
"abort-signal-polyfill": "^1.0.0",
"aircodes": "^1.3.16",
"ajv": "^8.20.0",
"ajv-errors": "^3.0.0",
"ansi-styles": "^6.2.3",
"ansible-vault": "^1.3.0",
"apache-md5": "^1.1.8",
"arr-diff": "^4.0.0",
"bcryptjs": "^3.0.3",
"bech32": "^2.0.0",
"big.js": "^7.0.1",
"braces": "^3.0.3",
"bwip-js": "^4.11.2",
"byte-data": "^19.0.1",
"change-case": "^5.4.4",
"chardet": "^2.2.0",
"chart.js": "^4.5.1",
"chartjs-plugin-zoom": "^2.2.0",
"chatgpt-prompt-splitter": "^1.0.5",
"chinesegen": "^0.3.3",
"cidr-tools": "^13.0.4",
"citation-formatter": "^1.0.1",
"codemirror": "^6.0.2",
"colord": "^2.10.0",
"composerize": "^1.7.6",
"composeverter": "^1.7.5",
"convert": "^7.0.2",
"countries-and-timezones": "^3.9.0",
"countries-db": "^1.2.0",
"country-code-lookup": "^0.1.5",
"crc": "^4.3.2",
"creditcard": "^0.1.3",
"creditcard-generator": "^0.0.7",
"cron-parser": "5.10.0",
"cron-validator": "^1.4.0",
"cronstrue": "^3.24.0",
"cropperjs": "^1.6.3",
"cross-spawn": "^7.0.6",
"crypto-es": "^3.1.3",
"csstoxpath": "^2.0.0",
"curlconverter": "^4.12.0",
"currency-codes-ts": "^3.0.0",
"damerau-levenshtein": "^1.0.8",
"data-guardian": "^1.1.4",
"date-fns": "^4.4.0",
"date-fns-tz": "^3.2.0",
"date-holidays": "^3.34.1",
"decimal.js": "^10.6.0",
"decomposerize": "^1.4.4",
"detect-csv": "^1.1.0",
"diceware-generator": "^3.0.1",
"diceware-wordlist-en": "^1.0.0",
"diceware-wordlist-en-eff": "^1.0.1",
"diceware-wordlist-jp": "^1.0.1",
"diceware-wordlist-ru": "^1.0.0",
"diceware-wordlist-sp": "^1.0.0",
"diceware-wordlist-swe": "^1.0.1",
"dmarc-report-parser": "^0.1.5",
"dns-query": "^0.11.2",
"docker2kube": "^0.0.14",
"dom-to-image-more": "^3.10.0",
"dompurify": "^3.4.16",
"duration-fns": "^3.0.2",
"echarts": "^6.1.0",
"email-bounce-parser-browser": "^1.1.0",
"email-normalizer": "^1.0.0",
"emojilib": "^4.0.3",
"epubjs": "^0.3.93",
"es-toolkit": "^1.49.0",
"esm-potrace-wasm": "^0.4.4",
"ethers": "^6.17.0",
"event-cron-parser": "^1.0.37",
"exif-be-gone": "^1.5.1",
"exifreader": "^4.46.0",
"fanger": "0.3.1",
"fast-json-patch": "^3.1.1",
"fast-xml-parser": "^5.11.1",
"fast_array_intersect": "^1.1.0",
"fflate": "^0.8.3",
"figlet": "^1.11.0",
"figue": "^1.2.0",
"file-type": "^22.0.1",
"flatten-anything": "^4.0.2",
"flexsearch": "^0.8.212",
"fuse.js": "^7.4.2",
"gcoord": "^1.0.7",
"generate-schema": "^2.6.0",
"get-timezone-offset": "^1.0.5",
"ghostscript-wasm-esm": "^1.0.1",
"gtin-validator": "^1.0.0",
"hash-wasm": "^4.12.0",
"haversine": "^1.1.1",
"heic-convert": "^2.1.0",
"hex-array": "^1.0.0",
"highlight.js": "^11.11.1",
"html-to-text": "^10.0.0",
"htmlfy": "^1.0.2",
"htmlparser2": "^10.1.0",
"hyparquet": "^1.26.2",
"hyparquet-compressors": "^1.1.1",
"ibantools": "^4.5.4",
"ical-generator": "^11.0.0",
"ical.js": "^2.2.1",
"iconv-lite": "^0.7.3",
"idb-keyval": "^6.3.0",
"image-compare-viewer": "^1.6.2",
"image-in-browser": "^3.5.3",
"image-to-ascii-art": "^0.0.4",
"ip-address": "^10.7.2",
"ip-bigint": "^9.0.6",
"ip-cidr": "^4.0.2",
"ip-matching": "^2.1.2",
"ip-regex": "^5.0.0",
"is-cidr": "^7.0.0",
"is-ip": "^5.0.1",
"isbn3": "^2.0.9",
"iso-639-1": "^3.1.6",
"jasypt": "^1.0.7",
"javascript-obfuscator": "^5.4.7",
"javastack.js": "^1.0.3",
"jks-js": "^1.1.7",
"jose": "5.10.0",
"jpeg-quality-estimator": "^1.0.1",
"jq-wasm": "^1.0.1",
"js-base64": "^3.9.4",
"js-beautify": "^2.0.3",
"js-tiktoken": "^1.0.21",
"jsbarcode": "^3.12.3",
"json-analyzer": "^1.2.2",
"json-editor-vue": "^0.19.2",
"json-to-ts": "^2.1.0",
"json5": "^2.2.3",
"jsonar-mod": "^1.9.0",
"jsonlint-mod": "^1.7.6",
"jsonpath": "^1.3.0",
"jsonrepair": "^3.15.0",
"jsonschema": "^1.5.0",
"jsonschema-protobuf": "^1.0.2",
"jsstack.js": "^2.0.0",
"jsvat-next": "^3.0.4",
"jszip": "^3.10.1",
"jwt-decode": "^4.0.0",
"katex": "^0.17.0",
"korean-unpacker": "^1.0.3",
"langs": "^2.0.0",
"leaflet": "^1.9.4",
"libmime": "^5.4.1",
"libphonenumber-js": "^1.13.8",
"lodash": "^4.18.1",
"long": "^5.3.2",
"lorem-ipsum-japanese": "^1.0.1",
"luhn-js": "^1.1.2",
"luxon": "^3.7.2",
"markdown-docx": "^1.7.0",
"markdown-it": "^14.3.0",
"markdown-it-mark": "^4.0.0",
"markdown-it-sanitizer": "^0.4.3",
"markdown-it-sub": "^2.0.0",
"markdown-it-sup": "^2.0.0",
"markdown-table-prettify": "^4.1.0",
"marked": "^10.0.0",
"mathjs": "^15.2.0",
"md-editor-v3": "^7.0.0",
"mdt2json": "^1.1.0",
"memorystream": "^0.3.1",
"merge-anything": "^6.0.6",
"mermaid": "^12.0.0",
"mime-types": "^3.0.2",
"mitex-wasm": "^0.2.5",
"monaco-editor": "^0.55.1",
"morsee": "^1.0.10",
"msgpackr": "^2.0.4",
"naive-ui": "^2.44.1",
"nanoid": "^6.0.0",
"nanoid-dictionary": "^5.0.0",
"nestify-anything": "^4.0.1",
"netmask": "^2.1.1",
"netstack.js": "^2.1.4",
"nginx-config-formatter": "^1.4.5",
"niceware": "^4.0.0",
"node-emv": "^1.0.23",
"node-forge": "^1.4.0",
"openai-chat-tokens": "^0.2.8",
"openpgp": "^6.3.1",
"otpauth-migration": "^1.0.0",
"oui-data": "^1.1.571",
"pako": "^3.0.1",
"parse-duration": "^2.1.8",
"parse-torrent": "^11.0.21",
"paseto-ts": "^2.0.6",
"path2d-polyfill": "^3.2.2",
"pdf-signature-reader": "^1.4.3",
"pdfjs-dist": "^4.10.38",
"picomatch": "^4.0.5",
"pinia": "^3.0.4",
"podletjs": "^1.0.2",
"port-numbers": "^8.0.32",
"postal-mime": "^2.7.5",
"potrace": "^2.1.8",
"pp-qr-code": "^0.6.4",
"prettier": "^3.9.9",
"pretty-ms": "^9.3.0",
"proj4": "^2.20.9",
"proj4-list": "^1.0.4",
"properties": "^1.2.1",
"punycode": "^2.3.1",
"pythonstack.js": "^1.0.2",
"qpdf-wasm-esm-embedded": "^1.1.1",
"qrcode": "^1.5.4",
"qrcode-parser": "^2.1.3",
"qrcode-terminal-nooctal": "^0.12.1",
"qrcode-vue3": "^1.7.1",
"quicktype-core": "^26.0.0",
"randexp": "^0.5.3",
"regex": "^6.1.0",
"rekcod": "^3.0.0",
"remove-markdown": "^0.6.4",
"resistor-data": "^2.0.0",
"riimut": "^0.9.1",
"roboto-base64": "^0.1.2",
"rtf-stream-parser": "^3.8.1",
"run-pace": "^2.2.1",
"safe-license-list": "^0.1.2",
"sandybox": "^1.1.2",
"sanitize-html": "^2.17.7",
"screenfull": "^5.2.0",
"shamirs-secret-sharing": "^2.0.1",
"shiki": "1.29.2",
"silly-password-generator": "^1.0.29",
"slashes": "^3.0.12",
"smol-toml": "^1.9.0",
"sms-segments-calculator": "^1.2.0",
"spdx-satisfies": "^6.0.0",
"sponge-case": "^2.0.3",
"sql-formatter": "^15.8.2",
"sshpk": "^1.18.0",
"staveless-futhark": "^0.6.1",
"stopword": "^3.1.5",
"stringify-object": "^7.0.0",
"svgo": "^3.3.5",
"swagger-ui-dist": "^5.32.8",
"swap-case": "^3.0.3",
"tesseract.js": "^7.0.0",
"tesseract.js-core": "7.0.0",
"tick-time": "^1.0.1",
"tidy-url": "^1.18.3",
"title-case": "^4.3.2",
"to-double-quotes": "^4.0.0",
"to-single-quotes": "^4.0.0",
"turndown": "^7.2.4",
"ua-parser-js": "^2.0.10",
"ulid": "^3.0.2",
"unicode-emoji-json": "^0.9.0",
"unique-random": "^4.0.0",
"units-converter": "^1.0.3",
"unixcrypt-browser": "^2.0.4",
"unpdf": "^1.8.0",
"unplugin-auto-import": "^21.0.0",
"utf8": "^3.0.0",
"uuid": "^14.0.1",
"vanilla-jsoneditor": "^3.13.0",
"vite-plugin-sitemap": "^0.8.2",
"vue": "^3.5.39",
"vue-color-wheel": "^0.1.1",
"vue-i18n": "^11.4.6",
"vue-loading-overlay": "^6.0.6",
"vue-markdown-render": "^2.3.1",
"vue-router": "^5.1.0",
"vue-shadow-dom": "^4.2.0",
"vue-tsc": "^3.3.10",
"vue3-flip-countdown": "^0.1.6",
"vue3-katex": "^0.8.1",
"vuedraggable": "^4.1.0",
"vuex": "^4.1.0",
"webcrack": "^2.16.0",
"webcrypto-liner-shim": "^1.4.8",
"webp-converter-browser": "^1.0.4",
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
"xml-formatter": "^3.7.0",
"xml-js": "^1.6.11",
"xpath": "^0.0.34",
"xpath-to-css": "^1.2.0",
"xslt-processor": "^3.4.0",
"yaml": "^2.9.0"
},
"devDependencies": {
"@iconify-json/mdi": "^1.2.3",
"@iconify-json/tabler": "^1.2.35",
"@intlify/unplugin-vue-i18n": "^11.2.4",
"@playwright/test": "^1.62.0",
"@tsconfig/node24": "^24.0.4",
"@types/arr-diff": "^4.0.3",
"@types/big.js": "^7.0.0",
"@types/codemirror": "^5.60.17",
"@types/damerau-levenshtein": "^1.0.2",
"@types/emscripten": "^1.41.5",
"@types/har-format": "^1.2.16",
"@types/hex-array": "^1.0.2",
"@types/js-beautify": "^1.14.3",
"@types/jsdom": "^28.0.0",
"@types/jsonpath": "^0.2.4",
"@types/leaflet": "^1.9.21",
"@types/libmime": "^5.3.0",
"@types/luxon": "^3.7.2",
"@types/markdown-it": "^14.0.0",
"@types/memorystream": "^0.3.4",
"@types/mime-types": "^3.0.1",
"@types/morsee": "^1.0.2",
"@types/nanoid-dictionary": "^4.2.3",
"@types/netmask": "^2.0.6",
"@types/node": "^24.13.3",
"@types/node-forge": "^1.3.14",
"@types/picomatch": "^4.0.3",
"@types/potrace": "^2.1.5",
"@types/punycode": "^2.1.4",
"@types/qrcode": "^1.5.6",
"@types/sanitize-html": "^2.16.1",
"@types/spdx-satisfies": "^6.0.0",
"@types/sshpk": "^1.17.5",
"@types/stopword": "^2.0.3",
"@types/stringify-object": "^4.0.5",
"@types/turndown": "^5.0.6",
"@types/ua-parser-js": "^0.7.39",
"@types/unist": "^3.0.3",
"@types/utf8": "^3.0.3",
"@vitejs/plugin-vue": "^6.0.7",
"@vitejs/plugin-vue-jsx": "^5.1.6",
"@vue/compiler-sfc": "^3.5.39",
"@vue/runtime-dom": "^3.5.39",
"@vue/test-utils": "^2.4.11",
"@vue/tsconfig": "^0.9.1",
"axios": "^1.18.1",
"commander": "^15.0.0",
"consola": "^3.4.2",
"dotenv": "^17.4.2",
"fast-glob": "^3.3.3",
"hygen": "^6.2.11",
"jsdom": "^29.1.1",
"less": "^4.6.7",
"oxfmt": "^0.57.0",
"oxlint": "^1.72.0",
"oxlint-tsgolint": "^7.0.2001",
"rollup-plugin-visualizer": "^7.0.1",
"semver": "^7.8.5",
"typescript": "~6.0.3",
"unocss": "^66.7.4",
"unocss-preset-scrollbar": "^4.0.0",
"unplugin-icons": "^23.0.1",
"unplugin-vue-components": "^32.1.0",
"unplugin-vue-markdown": "^32.0.0",
"vite": "^8.1.3",
"vite-plugin-node-polyfills": "^0.28.0",
"vite-plugin-pwa": "^1.3.0",
"vite-plugin-wasm": "^3.6.0",
"vite-svg-loader": "^5.1.1",
"vitest": "^4.1.11",
"vue-i18n-extract": "^2.0.7",
"workbox-build": "^7.4.1",
"workbox-window": "^7.4.1",
"zx": "^8.8.5"
},
"devEngines": {
"packageManager": {
"name": "pnpm",
"version": "12.6.0",
"onFail": "download"
},
"runtime": {
"name": "node",
"version": "24.x",
"onFail": "download"
}
},
"engines": {
"node": "24.x"
},
"scarfSettings": {
"enabled": false
}
}