simple-comparator
Version:
A production-ready deep equality comparison library for JavaScript and TypeScript, supporting complex objects, arrays, and primitive types with circular reference detection. Works seamlessly across Node.js, Deno, and browser environments.
94 lines (93 loc) • 3.38 kB
JSON
{
"name": "simple-comparator",
"version": "1.2.3",
"description": "A production-ready deep equality comparison library for JavaScript and TypeScript, supporting complex objects, arrays, and primitive types with circular reference detection. Works seamlessly across Node.js, Deno, and browser environments.",
"main": "dist_commonjs/index.cjs",
"module": "dist_es6/index.js",
"types": "./index.ts",
"type": "module",
"exports": {
".": {
"types": "./index.ts",
"import": {
"types": "./index.ts",
"default": "./index.ts"
},
"require": {
"types": "./index.cts",
"default": "./dist_commonjs/index.cjs"
}
}
},
"files": [
"dist_commonjs",
"dist_es6",
"src",
"index.cts",
"index.ts",
"mod.js",
"mod.ts"
],
"scripts": {
"build": "rm -rf dist_commonjs/* dist_es6/* && tsc --project tsconfig-commonjs.json && tsc --project tsconfig-es6.json && pnpm minify:all && pnpm rename-cjs && pnpm fix-maps",
"rename-cjs": "find dist_commonjs -name '*.js' -exec sh -c 'mv \"$1\" \"${1%.js}.cjs\"' _ {} \\;",
"fix-maps": "find dist_commonjs -name '*.map' -exec sh -c 'mv \"$1\" \"${1%.js.map}.cjs.map\"' _ {} \\;",
"minify:all": "pnpm minify:commonjs && pnpm minify:es6",
"minify:commonjs": "for file in $(find dist_commonjs -name '*.js'); do terser \"$file\" -c -m --source-map \"content='${file}.map',url='$(basename ${file%.*}).cjs.map'\" -o \"$file\"; done",
"minify:es6": "for file in $(find dist_es6 -name '*.js'); do terser \"$file\" -c -m --source-map \"content='${file}.map',url='$(basename ${file}).map'\" -o \"$file\"; done",
"test": "pnpm lint:all && jest && jest -c jest-node.config.json && pnpm test:deno",
"test:coverage": "jest --coverage",
"test:deno": "command -v deno >/dev/null 2>&1 && (deno test --config tsconfig-deno.json || exit 1) || (echo '\nℹ️ \u001b[33mDeno is not installed. Skipping Deno tests.\u001b[0m' && exit 0)",
"tsc:check": "tsc --noEmit",
"lint": "eslint .",
"lint:md": "markdownlint \"**/*.md\" --fix",
"format": "prettier --check \"**/*.{ts,js,json,md}\"",
"lint:all": "pnpm tsc:check && pnpm lint && pnpm lint:md && pnpm publint && pnpm format",
"publint": "npx publint",
"lint:fix": "eslint . --fix",
"format:fix": "prettier --write \"**/*.{ts,js,json,md}\""
},
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/dominikj111/simple-comparator.git"
},
"keywords": [
"deep-comparison",
"object-comparison",
"array-comparison",
"equality",
"deep-equal",
"circular-reference",
"typescript",
"deno",
"node",
"browser",
"jest-like",
"cross-platform",
"zero-dependencies"
],
"author": "dominikj111",
"license": "BSD-3-Clause",
"bugs": {
"url": "https://github.com/dominikj111/simple-comparator/issues"
},
"homepage": "https://github.com/dominikj111/simple-comparator#readme",
"devDependencies": {
"@eslint/js": "^9.22.0",
"@types/jest": "^29.5.14",
"@typescript-eslint/eslint-plugin": "^8.26.1",
"@typescript-eslint/parser": "^8.26.1",
"eslint": "^9.22.0",
"eslint-config-prettier": "^10.1.1",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-prettier": "^5.2.3",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"markdownlint-cli": "^0.44.0",
"prettier": "^3.5.3",
"terser": "^5.39.0",
"ts-jest": "^29.2.6",
"typescript": "^5.8.2"
},
"packageManager": "pnpm@10.6.3"
}