UNPKG

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.

93 lines (92 loc) 3.37 kB
{ "name": "simple-comparator", "version": "1.2.2", "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": "./dist_es6/index.js" }, "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 && npm run minify:all && npm run rename-cjs && npm run 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": "npm run minify:commonjs && npm run 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": "npm run lint:all && jest && jest -c jest-node.config.json && npm run 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)", "lint": "eslint .", "lint:md": "markdownlint \"**/*.md\" --fix", "format": "prettier --check \"**/*.{ts,js,json,md}\"", "lint:all": "npm run lint && npm run lint:md && npm run publint && npm run 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" }