{"_id":"@assertavenger/cypress-test-selector-core","_rev":"6-6d2e6af32d17e47e5cf088e8d85f4539","name":"@assertavenger/cypress-test-selector-core","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@assertavenger/cypress-test-selector-core","version":"0.1.0","keywords":["cypress","test-selection","git-diff"],"author":{"url":"https://github.com/AssertAvenger","name":"Franklin Francis"},"license":"MIT","_id":"@assertavenger/cypress-test-selector-core@0.1.0","maintainers":[{"name":"assertavenger","email":"franklinfrancis369@gmail.com"}],"homepage":"https://github.com/AssertAvenger/cypress-test-selector#readme","bugs":{"url":"https://github.com/AssertAvenger/cypress-test-selector/issues"},"dist":{"shasum":"c3d94e0d6eb5fb435c9f06272c89b2df7ffd5ad8","tarball":"https://registry.npmjs.org/@assertavenger/cypress-test-selector-core/-/cypress-test-selector-core-0.1.0.tgz","fileCount":74,"integrity":"sha512-3DWviKkIiNhL6LvkEmyAu4PzOMZVN/M5q0xNUc8nYYrHCyQ09CkAv3iDzY71RsPNznExMEoa7+pT2hNoDry82w==","signatures":[{"sig":"MEUCIHfX3gDlKAbJyr5xtGpqpQX1EacC24SVWTt8TX2/rfbkAiEA3v00004KyHA6F4LfOWc8d/jsEPkvxp3d4Ie2YEcHids=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110688},"type":"module","exports":{"./diff":{"types":"./dist/diff/index.d.ts","default":"./dist/diff/index.js"},"./mapper":{"types":"./dist/mapper/index.d.ts","default":"./dist/mapper/index.js"},"./discovery":{"types":"./dist/discovery/index.d.ts","default":"./dist/discovery/index.js"}},"gitHead":"29b02495114a60c1b259515f9b161438d6191391","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"assertavenger","email":"franklinfrancis369@gmail.com"},"deprecated":"This package has been deprecated","repository":{"url":"git+https://github.com/AssertAvenger/cypress-test-selector.git","type":"git"},"_npmVersion":"10.9.3","description":"Core diff parsing and intelligent mapping logic for Cypress test selection","directories":{},"_nodeVersion":"22.19.0","dependencies":{"fast-glob":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-test-selector-core_0.1.0_1764907202410_0.9933846205655423","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@assertavenger/cypress-test-selector-core","version":"0.2.0","keywords":["cypress","test-selection","git-diff"],"author":{"url":"https://github.com/AssertAvenger","name":"Franklin Francis"},"license":"MIT","_id":"@assertavenger/cypress-test-selector-core@0.2.0","maintainers":[{"name":"assertavenger","email":"franklinfrancis369@gmail.com"}],"homepage":"https://github.com/AssertAvenger/cypress-test-selector#readme","bugs":{"url":"https://github.com/AssertAvenger/cypress-test-selector/issues"},"dist":{"shasum":"92d53f73b192f72f4d70a0ae10dc743c8cda98a9","tarball":"https://registry.npmjs.org/@assertavenger/cypress-test-selector-core/-/cypress-test-selector-core-0.2.0.tgz","fileCount":74,"integrity":"sha512-XrKX/IboaxAZiSPEFQOpC9b3NENRYyLdiTggUjXA/t9CsI7LUfIgVTMUAnk4HyeYntVksKgmVPQmlnyBgQFPsQ==","signatures":[{"sig":"MEUCIQDjR+ULqffMxnq7GTcP1Ydda+ni7+hvVETVmR0KPLsZbgIgHX2FiN31ooQ8DPZnEg4YothlUfMEWW57iReRVdClpcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123943},"type":"module","exports":{"./diff":{"types":"./dist/diff/index.d.ts","default":"./dist/diff/index.js"},"./mapper":{"types":"./dist/mapper/index.d.ts","default":"./dist/mapper/index.js"},"./discovery":{"types":"./dist/discovery/index.d.ts","default":"./dist/discovery/index.js"}},"gitHead":"b6030cf44496685cedacab04474b17cfbebf4fff","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"assertavenger","email":"franklinfrancis369@gmail.com"},"deprecated":"this package version has been deprecated","repository":{"url":"git+https://github.com/AssertAvenger/cypress-test-selector.git","type":"git"},"_npmVersion":"10.9.3","description":"Core diff parsing and intelligent mapping logic for Cypress test selection","directories":{},"_nodeVersion":"22.19.0","dependencies":{"fast-glob":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-test-selector-core_0.2.0_1765152279500_0.5555943123685989","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-12-05T04:00:02.332Z","modified":"2025-12-08T04:20:13.351Z","0.1.0":"2025-12-05T04:00:02.622Z","0.2.0":"2025-12-08T00:04:39.674Z"},"bugs":{"url":"https://github.com/AssertAvenger/cypress-test-selector/issues"},"author":{"url":"https://github.com/AssertAvenger","name":"Franklin Francis"},"license":"MIT","homepage":"https://github.com/AssertAvenger/cypress-test-selector#readme","keywords":["cypress","test-selection","git-diff"],"repository":{"url":"git+https://github.com/AssertAvenger/cypress-test-selector.git","type":"git"},"description":"Core diff parsing and intelligent mapping logic for Cypress test selection","maintainers":[{"name":"assertavenger","email":"franklinfrancis369@gmail.com"}],"readme":"# @assertavenger/cypress-test-selector-core\n\nCore library for intelligent Cypress test selection based on git diffs. Provides diff parsing, test discovery, and intelligent mapping heuristics.\n\n## Installation\n\n```bash\nnpm install @assertavenger/cypress-test-selector-core\n```\n\n## Modules\n\nThis package is organized into subpath exports:\n\n### `@assertavenger/cypress-test-selector-core/diff`\n\nParse and normalize git diff output.\n\n```typescript\nimport { parseDiff } from '@assertavenger/cypress-test-selector-core/diff';\n\nconst result = parseDiff(gitDiffOutput);\n// result.files - array of changed files\n// result.warnings - any parsing warnings\n```\n\n### `@assertavenger/cypress-test-selector-core/discovery`\n\nDiscover Cypress test files in a project.\n\n```typescript\nimport { discoverTests } from '@assertavenger/cypress-test-selector-core/discovery';\n\nconst tests = await discoverTests({\n  projectRoot: process.cwd(),\n  testPatterns: ['cypress/e2e/**/*.spec.ts'], // optional\n});\n```\n\n### `@assertavenger/cypress-test-selector-core/mapper`\n\nMap changed files to relevant test files using intelligent heuristics.\n\n```typescript\nimport { mapDiffToTests } from '@assertavenger/cypress-test-selector-core/mapper';\nimport { parseDiff } from '@assertavenger/cypress-test-selector-core/diff';\nimport { discoverTests } from '@assertavenger/cypress-test-selector-core/discovery';\n\nconst diffResult = parseDiff(gitDiffOutput);\nconst tests = await discoverTests({ projectRoot: process.cwd() });\nconst mapping = await mapDiffToTests(diffResult.files, tests, {\n  safetyLevel: 'medium',\n});\n\n// mapping.selected - array of selected test file paths\n// mapping.mappings - detailed scoring information\n```\n\n## Features\n\n- **Diff Parsing**: Robust git diff parsing supporting multiple formats\n- **Test Discovery**: Fast glob-based test file discovery\n- **Intelligent Mapping**: 5 heuristics (directory, filename, imports, tags, titles)\n- **Configurable Safety**: High/medium/low safety levels with thresholds\n- **TypeScript**: Fully typed with strict mode\n\n## Documentation\n\nSee the individual module READMEs for detailed API documentation:\n\n- [Diff Module](./src/diff/README.md)\n- [Discovery Module](./src/discovery/README.md)\n- [Mapper Module](./src/mapper/README.md)\n\n## License\n\nMIT\n\n","readmeFilename":"README.md"}