{"_id":"@eklmv/jscpd-core","_rev":"3-947da072e5fd6d1480069c2ea4b58aba","name":"@eklmv/jscpd-core","dist-tags":{"latest":"5.0.1"},"versions":{"4.0.1":{"name":"@eklmv/jscpd-core","version":"4.0.1","author":{"name":"Andrey Kucherenko","email":"kucherenko.andrey@gmail.com"},"license":"MIT","_id":"@eklmv/jscpd-core@4.0.1","maintainers":[{"name":"eklmv","email":"eklmv.mail@gmail.com"}],"homepage":"https://github.com/kucherenko/jscpd#readme","bugs":{"url":"https://github.com/kucherenko/jscpd/issues"},"dist":{"shasum":"179c0ad2bea67f035333158d4febd7246082d7f0","tarball":"https://registry.npmjs.org/@eklmv/jscpd-core/-/jscpd-core-4.0.1.tgz","fileCount":9,"integrity":"sha512-QrzDlBUL2wuz6gWpwS5O5eryDWW1z+DR0alFDs8HO6kAiHBTCPpTi8/Rb8H+6dQdQAEWibZhqwZFdDWwoQgi8Q==","signatures":[{"sig":"MEUCIB/RY9oevb4xox2W8O3RDn6ggKDVNtuySCuSxVn5kNCjAiEAnrjY+TCW8zg0Rzun7Dzbc7Lwa5c18U8mOjKDPrYemV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89990},"main":"dist/index.js","_from":"file:eklmv-jscpd-core-4.0.1.tgz","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./README.md":"./README.md"},"gitHead":"beaae8ee77d5c7f41d2a0c65187887bd0dc87148","scripts":{"dev":"nodemon","build":"tsup-node --dts","cleanup":"rimraf ./dist .turbo","test:dev":"vitest","typecheck":"tsc"},"typings":"dist/index.d.mts","_npmUser":{"name":"eklmv","email":"eklmv.mail@gmail.com"},"_resolved":"/private/var/folders/s_/rs3w0h1n2v138tk_px2b_fd40000gq/T/e37317d952b0b6768d42ab4ee67f8709/eklmv-jscpd-core-4.0.1.tgz","_integrity":"sha512-QrzDlBUL2wuz6gWpwS5O5eryDWW1z+DR0alFDs8HO6kAiHBTCPpTi8/Rb8H+6dQdQAEWibZhqwZFdDWwoQgi8Q==","repository":{"url":"git+ssh://git@github.com/eklmv/jscpd.git","type":"git"},"_npmVersion":"10.7.0","description":"core functionality of copy/paste detector for jscpd","directories":{"lib":"dist","test":"__tests__"},"_nodeVersion":"18.20.4","dependencies":{"eventemitter3":"^5.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.2.4","vitest":"^2.0.5","nodemon":"^3.1.4","@types/node":"^22.5.2","@eklmv/jscpd-tsconfig":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/jscpd-core_4.0.1_1748512994680_0.6755833025888567","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@eklmv/jscpd-core","version":"5.0.0","author":{"name":"Andrey Kucherenko","email":"kucherenko.andrey@gmail.com"},"license":"MIT","_id":"@eklmv/jscpd-core@5.0.0","maintainers":[{"name":"eklmv","email":"eklmv.mail@gmail.com"}],"homepage":"https://github.com/kucherenko/jscpd#readme","bugs":{"url":"https://github.com/kucherenko/jscpd/issues"},"dist":{"shasum":"9b213a078e6ccbd9c3e3fb7ce79781277d63116c","tarball":"https://registry.npmjs.org/@eklmv/jscpd-core/-/jscpd-core-5.0.0.tgz","fileCount":9,"integrity":"sha512-M984ipLymt1RcF2Mh4sWtxYH6ld/GXkiVLI3pCc38fKeQFhni4bWjmRnc3t/4aLcxFSScSJhRXB8Ke6Mh5DnEQ==","signatures":[{"sig":"MEUCIQD91QMT0S2oUVhOaFofUd4ojFscCcuBxkeLyasX0GAyogIgW5QCH0QG296bpQgWUCfA4RGct2XAZVSmkZ+LhXjfN8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92339},"main":"dist/index.js","_from":"file:eklmv-jscpd-core-5.0.0.tgz","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./README.md":"./README.md"},"gitHead":"beaae8ee77d5c7f41d2a0c65187887bd0dc87148","scripts":{"dev":"nodemon","build":"tsup-node --dts","cleanup":"rimraf ./dist .turbo","test:dev":"vitest","typecheck":"tsc"},"typings":"dist/index.d.mts","_npmUser":{"name":"eklmv","email":"eklmv.mail@gmail.com"},"_resolved":"/private/var/folders/s_/rs3w0h1n2v138tk_px2b_fd40000gq/T/ca1e208242ff15f6c04009ba251fb2ce/eklmv-jscpd-core-5.0.0.tgz","_integrity":"sha512-M984ipLymt1RcF2Mh4sWtxYH6ld/GXkiVLI3pCc38fKeQFhni4bWjmRnc3t/4aLcxFSScSJhRXB8Ke6Mh5DnEQ==","repository":{"url":"git+ssh://git@github.com/eklmv/jscpd.git","type":"git"},"_npmVersion":"10.7.0","description":"core functionality of copy/paste detector for jscpd","directories":{"lib":"dist","test":"__tests__"},"_nodeVersion":"18.20.4","dependencies":{"eventemitter3":"^5.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.2.4","vitest":"^2.0.5","nodemon":"^3.1.4","@types/node":"^22.5.2","@eklmv/jscpd-tsconfig":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/jscpd-core_5.0.0_1748515474767_0.7180822351364959","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@eklmv/jscpd-core","version":"5.0.1","description":"core functionality of copy/paste detector for jscpd","author":{"name":"Andrey Kucherenko","email":"kucherenko.andrey@gmail.com"},"homepage":"https://github.com/kucherenko/jscpd#readme","license":"MIT","main":"dist/index.js","module":"dist/index.mjs","typings":"dist/index.d.mts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./README.md":"./README.md"},"directories":{"lib":"dist","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/eklmv/jscpd.git"},"bugs":{"url":"https://github.com/kucherenko/jscpd/issues"},"dependencies":{"eventemitter3":"^5.0.1"},"gitHead":"beaae8ee77d5c7f41d2a0c65187887bd0dc87148","devDependencies":{"@types/node":"^22.5.2","nodemon":"^3.1.4","tsup":"^8.2.4","vitest":"^2.0.5","@eklmv/jscpd-tsconfig":"5.0.1"},"scripts":{"build":"tsup-node --dts","dev":"nodemon","test:dev":"vitest","typecheck":"tsc","cleanup":"rimraf ./dist .turbo"},"_id":"@eklmv/jscpd-core@5.0.1","_integrity":"sha512-/lGkCOidSrkRwxV+zjpNwfcXuXylSIYOgYX0lAkMNi4kbITXgOd4840SXyvmVIBP62U/0oow/29Vszj4gAXtoA==","_resolved":"/private/var/folders/s_/rs3w0h1n2v138tk_px2b_fd40000gq/T/0f5e37c66cc314f8ff4a9ae9951f46b7/eklmv-jscpd-core-5.0.1.tgz","_from":"file:eklmv-jscpd-core-5.0.1.tgz","_nodeVersion":"18.20.4","_npmVersion":"10.7.0","dist":{"integrity":"sha512-/lGkCOidSrkRwxV+zjpNwfcXuXylSIYOgYX0lAkMNi4kbITXgOd4840SXyvmVIBP62U/0oow/29Vszj4gAXtoA==","shasum":"4ae8dec641790fd8c006cca4037d9a1d5a8aa997","tarball":"https://registry.npmjs.org/@eklmv/jscpd-core/-/jscpd-core-5.0.1.tgz","fileCount":9,"unpackedSize":92579,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDnXcp52eVJy9jWR5vGPTa0waoo3v1f+m6NRo6rTwAsVAiA+f1GKx8QZXU/p+XfAfVwtNQtbdWiRykGTrrDCTbohBw=="}]},"_npmUser":{"name":"eklmv","email":"eklmv.mail@gmail.com"},"maintainers":[{"name":"eklmv","email":"eklmv.mail@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jscpd-core_5.0.1_1749485913284_0.8529572626657871"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-29T10:03:14.609Z","modified":"2025-06-09T16:18:33.959Z","4.0.1":"2025-05-29T10:03:14.908Z","5.0.0":"2025-05-29T10:44:34.975Z","5.0.1":"2025-06-09T16:18:33.461Z"},"bugs":{"url":"https://github.com/kucherenko/jscpd/issues"},"author":{"name":"Andrey Kucherenko","email":"kucherenko.andrey@gmail.com"},"license":"MIT","homepage":"https://github.com/kucherenko/jscpd#readme","repository":{"type":"git","url":"git+ssh://git@github.com/eklmv/jscpd.git"},"description":"core functionality of copy/paste detector for jscpd","maintainers":[{"name":"eklmv","email":"eklmv.mail@gmail.com"}],"readme":"# `@eklmv/jscpd-core`\n\n> core package for detect duplicates, depends only on eventemitter3.\n\n## Installation\n\n```\nnpm install @eklmv/jscpd-core --save\n```\n\n## Usage\n\n```typescript\nimport {Tokenizer} from '@eklmv/jscpd-tokenizer';\nimport {\n    Detector,\n    MemoryStore,\n    IOptions,\n    IClone,\n    IStore,\n    ITokenizer\n} from '@eklmv/jscpd-core';\n\nconst options: IOptions = {\n    minLines: 5,\n    maxLines: 500,\n}\n\nconst tokenizer: ITokenizer = new Tokenizer();\n\n// here you can use any store what implement IStore interface\nconst store: IStore = new MemoryStore();\n\n// list of validators, implemented IValidator interface, validate clones\nconst validators = [];\n\nconst detector = new Detector(tokenizer, store, validators, options);\n\n( async () => {\n    const format = 'javascript';\n    const code: string = '...string with code...';\n    const clones: IClone[] = await detector.detect('source_id', code, format);\n\n    console.log(clones);\n})();\n\n```\n\n![ga tracker](https://www.google-analytics.com/collect?v=1&a=257770996&t=pageview&dl=https%3A%2F%2Fgithub.com%2Fkucherenko%2Fjscpd&ul=en-us&de=UTF-8&cid=978224512.1377738459&tid=UA-730549-17&z=887657232 \"ga tracker\")\n\n## License\n\n[MIT](LICENSE) © Andrey Kucherenko\n","readmeFilename":"README.md"}