{"_id":"isbn-bisac-tools","_rev":"30-07308342a1430f1012c177713507a317","name":"isbn-bisac-tools","dist-tags":{"latest":"0.4.2"},"versions":{"0.1.1":{"name":"isbn-bisac-tools","version":"0.1.1","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.1.1","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"3d5498b134e3edb7eb16f481a0e581b21bf1a006","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.1.1.tgz","fileCount":17,"integrity":"sha512-U69MIM42NRXrXE3Dnegd+YIapFPPtCJ+FqLdll2lM95tUEIvl5upivPD/IBfV6AfRoWK1d5wmv3KiUbrb3qWQw==","signatures":[{"sig":"MEQCIAgBu2gJhemTzbUoagiAyXl/cPnr4fJjGVDBCxESoJZpAiBH5DvSi3knAgF5YLYSC/BEFw+s13Fjna6ueaOUoXhDLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280362},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"2b0bda205776a8927e48bd109035e4988dbf50ab","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","prepare":"husky","publish":"node scripts/publish.js","release":"npm run lint && npm run test && npm version","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","release:major":"npm run release major && npm publish","release:minor":"npm run release minor && npm publish","release:patch":"npm run release patch && npm publish","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.1.1_1746565532596_0.09307168428185397","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"isbn-bisac-tools","version":"0.1.3","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.1.3","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"c86757f89cf6c3e72f681ba934a4808b0727362a","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.1.3.tgz","fileCount":17,"integrity":"sha512-41x+YjpXxPWkycR3cS2FmW3dbVY/Wg8c63uk5NHtAIlqZ3NL3FgjeOB683Bae10Tsde9+/s66PtKAlYgItalBQ==","signatures":[{"sig":"MEYCIQCQwq6jcpG3KytGXMOY8s+m1Dg5NTWtY3eLv2piwYKBdwIhAMGYJdgX5OEG+yNKnVC7xt4Z/SBrSL5sfCVVaDl9n2DF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280362},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"d18ee6321b22bbf5429a0d020cccda86a64efe2f","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","prepare":"husky","publish":"node scripts/publish.js","release":"npm run lint && npm run test && npm version","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","release:major":"npm run release major && npm publish","release:minor":"npm run release minor && npm publish","release:patch":"npm run release patch && npm publish","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.1.3_1746566349117_0.5599450232891525","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"isbn-bisac-tools","version":"0.1.4","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.1.4","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"dfa6fa98388656aba4061590876ca459055e4bb1","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.1.4.tgz","fileCount":17,"integrity":"sha512-tz/WhlEFNTF8DLlU26SMVsDalVExYIWuYwu/QCtPWRLKz890/xetuL0BVycxtyy1ge/SmF5VUnXbvUdbRfNwsg==","signatures":[{"sig":"MEUCIQCO5reZ4wyXa8i3asHwVl/TwBd9Oc02sMrNjIWv7NYlwQIgKMByQpqFkKQKm/OJkN11aR8Z6BI58jqSke3ZciXzN+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280624},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"c897e7fc43d617b24b3fd32773d61406e18e43c0","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","prepare":"husky","publish":"node scripts/publish.js","release":"npm run lint && npm run test && npm version","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","release:major":"npm run release major && npm publish","release:minor":"npm run release minor && npm publish","release:patch":"npm run release patch && npm publish","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.9.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"22.14.0","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.1.4_1746567098047_0.6414454870769792","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"isbn-bisac-tools","version":"0.2.0","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.0","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"f408b6ddc8188b78ab3505470cf3f317bc6b4378","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.0.tgz","fileCount":17,"integrity":"sha512-8x0u9Twj8eXYA0qrsafbo+L7SEyB1ukrhNrwPOoBgz4qi4aH1T1kKntpFYJKIb47AyDpBHkW19+usuT64tzKbg==","signatures":[{"sig":"MEUCIQDOPPIwfbQNigq3ekDMhRUpmTnq7YTOi6bxjIXN0+FuuAIgDvS+idTYza0fyVtXqZtYzvRozkcZOJxJly4DhgCHt3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295742},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"0b5fc88dff5ef3c327e3632e93bc65b8c7e9a24f","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","prepare":"husky","publish":"node scripts/publish.js","release":"npm run lint && npm run test && npm version","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","release:major":"npm run release major && npm publish","release:minor":"npm run release minor && npm publish","release:patch":"npm run release patch && npm publish","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.0_1746570700846_0.28468126908275715","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"isbn-bisac-tools","version":"0.2.2","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.2","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"cbc7faac45a61cfe9d89fc3ad67f945ff902340e","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.2.tgz","fileCount":17,"integrity":"sha512-oZuC+e1oDONaUGCbqC0cWUnpTt5dGuE28sJGE/st1kiax52Mpburl9CGJW61HW1BBJu9O9jyMQ+SUwH41m5SZQ==","signatures":[{"sig":"MEUCIQDAjOXaVGJs4x+FopGx2GH6zqKfR5I5Gx2wDd27l2TjtwIgKGIidlM+0SSRsaG2UccJpcIiLox1coP5O05GpRrbHho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296478},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"5b31d0af2952e5aa838a49ee0aef289807ea4fab","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","prepare":"husky","publish":"node scripts/publish.js","release":"npm run lint && npm run test && npm version","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","release:major":"npm run release major && npm publish","release:minor":"npm run release minor && npm publish","release:patch":"npm run release patch && npm publish","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.2_1746571867558_0.17106885435589314","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"isbn-bisac-tools","version":"0.2.3","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.3","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"dd57f3ac4725cbc2ec31178386a89082f03646c4","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.3.tgz","fileCount":18,"integrity":"sha512-wsk2asxd4A03ON+dNLJNFeFVm8IGl0U2oxgTttK82XsWqGNRFKjd3EU0d5WNOsJmnZZG5+EG+jzLwLlKc8rEyg==","signatures":[{"sig":"MEYCIQCB7VreaqXigoroQWYNJrGtHg4tblVvyJilPwX+G31kcQIhAMjh/4zp2HYVXOsAZwKyzEoEAh24loi7+FJIHxwNIvJk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301419},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"41c28ec66f868988abdb5d81b10fb241aae59307","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","prepare":"husky","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js && cp package.json dist/","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.3_1746573899900_0.2560538997114996","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"isbn-bisac-tools","version":"0.2.4","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.4","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"100c6b5ce1bbb7aa39f11f2abf2e13ff2ece2510","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.4.tgz","fileCount":19,"integrity":"sha512-IGPdE6ixAPOcR73TW6FOfAbeJgivSn+zg7fDBMBQqvQIDTeV0kl0+FJWszV2Qb2EQR9CuzkOvjDvlQ5SO7is+w==","signatures":[{"sig":"MEYCIQDhg8exXWdKMAyqoe3EdIX/l92hK6K+d2oo4r4HNvZi8gIhANQyitPFyUm0S3K0Q99EgY1AOW7nR2ESK97Hm58A7fdG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":924812},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"790468ffc31d28d6b56ba0bb1a4d53cf1f968be6","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/index.ts","prepare":"husky","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js && cp package.json dist/","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.4_1746575236057_0.6733073683341217","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"isbn-bisac-tools","version":"0.2.5","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.5","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"bc828f8afddb1c99eaf93b25b21af9c4deaa7b53","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.5.tgz","fileCount":20,"integrity":"sha512-miNedkFpArQlvVK3XeFzEMlDYu4qLDTZt5XGquu8h9IW401kHMilebaseYT/tF0aSX92Sp8UWwHNGQru2CPHvw==","signatures":[{"sig":"MEQCIGK58h/hYl3v39jLxSCC1/rwW1AaXsIieF8k+Zjxw9umAiABLR1EZ4l1WJiXaSJnGxVS626Crj0h60hR0ZTcvLBq/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1552090},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"05abb692c390dd896ede0471cbad818fd0817cbb","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/index.ts","prepare":"husky","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.5_1746575890389_0.765432125440229","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"isbn-bisac-tools","version":"0.2.6","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.6","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"e475bd1f549ee5220a801805e36bb65c2b57463c","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.6.tgz","fileCount":20,"integrity":"sha512-kZ4w4r8mMgr+2GnH2EUXuicjwkNk1ELCzoFM02rJf62NMuCm4YESrxcQADhvxeKGJanUFSSu3sEaQ51+qIVmaw==","signatures":[{"sig":"MEQCIC+bpXDKXsuwn35gE0LemxAcdBqvFSq3NkcBvS2arruTAiASO8dVe7QfIcHxuckEXvaHzOz3ncvPRLb/DDUea7xr7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1552094},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"6702f146969bba254550392333816a906418a8ff","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/index.ts","prepare":"husky","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.6_1746577800349_0.05316814312559348","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"isbn-bisac-tools","version":"0.2.7","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.7","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"127fea0a52f4d09afccd0ee6524fe84cc6c401f5","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.7.tgz","fileCount":20,"integrity":"sha512-TCNHwkBIykX4JPKeg7EqLvuId5ZxcOEbnDKWUvop6fAH2/sHVpx8Zo5otLuOFrgZHn9Pl9ywSf3Uao8K7G2vUw==","signatures":[{"sig":"MEQCIFWyOwiLw7GBXHqp/NussUaDC3nsPjRMwzQiwQZlcQZeAiBWkA3O4km1JN3L/fX94n/93ZFdACrw6CqbeWf7AbzthQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1555485},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"f466ed100d7b19e003358d09a80266c04cd4c5da","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/index.ts","prepare":"husky","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.7_1746578141371_0.1886528564703347","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"isbn-bisac-tools","version":"0.2.11","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.11","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/index.js"},"dist":{"shasum":"05f0018fb72eceae470beb7ed9ec15a6342959f2","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.11.tgz","fileCount":20,"integrity":"sha512-W8QGuHXf8Gbm0HtasHos9uwZ2xosl401WXKXcgELr6M1L7vfibgu/V1o+wE8SZhsrpn5uy7ZHOkQ4uE7XWqtMQ==","signatures":[{"sig":"MEYCIQC0EPFJtKPtsioDPeL0Vt2jNFDMp7uqCEvFUiykticXBAIhAJnHSmF6B9ziQRyW060dYaDAS8pJCRWXfY9D4nDlwQTi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1555406},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"7be48ec930722d62e83a268b89547fd308d047fd","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/index.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/index.ts","prepare":"husky","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","scrape:url":"tsx src/index.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/index.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.11_1746596591240_0.8700650014229623","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"isbn-bisac-tools","version":"0.2.12","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.12","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"41b7f8bdc2655b643d028cfead331ed4a443983f","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.12.tgz","fileCount":92,"integrity":"sha512-Xe9jEYdJ5rkJfMXn19884SbcKeqq5oDqFd7j+kaWY/OM4TeOXsA29f3e6lAnxGAEOCqjAkCW/Bo0dDBOphctug==","signatures":[{"sig":"MEUCIQCydRQkE5hD5iXh5JqZVPToa/85db6MWTN33WbW7+GH3QIgMhee4ydjwkBbpTKeMs6eebB+/WnA8oYGPKpgQ3nZBt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1789071},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"ee495c77bcedbd456a8b8ce330cf63735f1e87ee","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts --scrape","prepare":"husky","version":"npm run changelog && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","scrape:url":"tsx src/cli.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.12_1756483936380_0.015952081918600758","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"isbn-bisac-tools","version":"0.2.13","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.13","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"0f5241744ae5fc9c48dd907fbd53606947bf2c8b","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.13.tgz","fileCount":92,"integrity":"sha512-IeOC7D4I8DRC4VRA7lXhINtraQqGdoCXgza7DaDcwTcg3UhQ9kkb7ZhPmyCptGJVuz1dkqZXkzlQt0mVRARqUA==","signatures":[{"sig":"MEYCIQCT9H4jNcAjGgAsuzsiNuANoFf72/5q6IZ2mNjMNAgQjgIhAIGVvfD6JL13ObUOJ3HjEwBxuEmyUavhieaRGAZ+iDOq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1789183},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"beb94d3bc4e39bc5532bbe80c4caec87c8300b47","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts --scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","scrape:url":"tsx src/cli.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.13_1756484278546_0.20958838992358175","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"isbn-bisac-tools","version":"0.2.14","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.2.14","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"db34ef9b52121c2432590cc4de92c9e482d77b37","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.2.14.tgz","fileCount":92,"integrity":"sha512-GVzTeGEHmJ3W2NLwhdMECl9NAGho6XxloIpOyWQvimaq3lOgvB2vSNFgZS86dO4O4IeQTkAidWfF3BFu8jHguw==","signatures":[{"sig":"MEUCIQDOgOYFnJQ1SfOpqm5pzaLl6X5sZ4+lyU6iQQt6nt0i5AIgDloYMlDXKHFDibBGjpiaGBY01z/MQFl4fkwrXJZx3wY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1789183},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"fb0ca0cdd56c0ea3887f19cf67d20cbd0a159394","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts --scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","scrape:url":"tsx src/cli.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","chalk":"^5.4.1","inquirer":"9.2.17","commander":"^13.1.0","puppeteer":"^24.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.2.14_1756490804407_0.44703047623198056","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"isbn-bisac-tools","version":"0.3.1","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.3.1","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"ae9983e17a0b1ca0102a589aa71a5a0047bd079d","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.3.1.tgz","fileCount":100,"integrity":"sha512-UfVVldYxcE0bvWkIomETgxJgbID/NegZLFk8NhytkPsy8dFKpZVCr9uUMyby7CHS9NYU4tu4USzsnV5IJHsv6Q==","signatures":[{"sig":"MEQCIDdIEszAo7Leq8plXfU5po3pAg7J/ZySgsr/KKtALZoSAiB/3DdTmR4WKPEyu4t4XFAEyzom5p975X7uUip4TIWsyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2500927},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"gitHead":"0b175af69c13f747ee7b5e871c69ca551464bf68","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts --scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","scrape:url":"tsx src/cli.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","xlsx":"^0.18.5","chalk":"^5.4.1","inquirer":"9.2.17","json2csv":"^5.0.7","commander":"^13.1.0","puppeteer":"^24.8.1","xmlbuilder2":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.3.1_1756494411228_0.2647138206037012","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"isbn-bisac-tools","version":"0.3.2","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.3.2","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"87e02676dfb35b76dadac3cb9f8d5035f2d61850","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.3.2.tgz","fileCount":100,"integrity":"sha512-cs5nRtaxtsl75Yv1Q/1bQvBxp8/edqBUiDx4N5PLfrcsT6JVzPCgEIcRLQXd0HdFGuDHs0rhzxvrkD8p1vsFbA==","signatures":[{"sig":"MEMCICR5KqPRI2AWP0PNRzPERbC7IaDx/OiusvSC+lOME6CuAh9RXmRG1BGijWHLdeY9WZfKH3r5GuxIVR0Xe6m9IG1K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2522718},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli.d.ts","import":"./dist/src/cli.js"}},"gitHead":"3a4d962f5950daeb016c0abeb4605b0e085c887a","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts --help","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts --scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","export:all":"npm run export:test && npm run export:direct","scrape:url":"tsx src/cli.ts --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/browse-json.ts","export:test":"node scripts/test-export.js","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","lint:scripts":"eslint \"scripts/**/*.js\" --rule 'no-undef:0' --rule 'no-console:0'","export:direct":"node scripts/direct-export.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","xlsx":"^0.18.5","chalk":"^5.4.1","inquirer":"9.2.17","json2csv":"^5.0.7","commander":"^13.1.0","puppeteer":"^24.8.1","xmlbuilder2":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.3.2_1756497473020_0.4867007445443725","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"isbn-bisac-tools","version":"0.3.3","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.3.3","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"63f82c019fd54341d1a7238ccccbafeaa17cdbba","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.3.3.tgz","fileCount":109,"integrity":"sha512-w/hi18KnI4lYFNtp+NYdEJKKGin7q3HPcM0Fz3BLv7DztfI5gasZ+7JdariTSYGW/yUOYFNPec8odY3wFc3OBQ==","signatures":[{"sig":"MEYCIQDUmApFwIPd/LmBKSQ21KTTQSDWgReOF4/P88BHiWTeaQIhANlUqUpYMrJt8imHEzYG0mpDqo080Udf6qwcJiVD0ZlQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1232572},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli.d.ts","import":"./dist/src/cli.js"}},"gitHead":"4b0399c4a6e7b92754be966fd4f44d2ef23f1a99","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","export:all":"npm run export:test && npm run export:direct","scrape:url":"tsx src/cli.ts scrape --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/cli.ts browse","export:test":"node scripts/test-export.js","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","lint:scripts":"eslint \"scripts/**/*.js\" --rule 'no-undef:0' --rule 'no-console:0'","export:direct":"node scripts/direct-export.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","xlsx":"^0.18.5","chalk":"^5.4.1","inquirer":"9.2.17","json2csv":"^5.0.7","commander":"^13.1.0","puppeteer":"^24.8.1","xmlbuilder2":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.3.3_1756499014835_0.22714711984013358","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"isbn-bisac-tools","version":"0.3.4","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.3.4","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"98052aeaa5a0aad74329cdcaacfbffb46372091a","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.3.4.tgz","fileCount":109,"integrity":"sha512-3RVd26fMqejpMf8CkrsgUELM9rL4ed4/BVbUZI1zPDMoOIRKOgjfBhZGZG9YUc1MnuXYLuD9ZSzZUZ9gLQuavQ==","signatures":[{"sig":"MEUCIQCTwaFd9CB23srvGW65Rggjv/mlwYuuqqu/y3Z7nJi4pwIgK6sboCoMFzUoPjrfasAtiUGGHvl0MznuG2XzbwmFzFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1234885},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli.d.ts","import":"./dist/src/cli.js"}},"gitHead":"a0c61c941da3d846d8c2d4ff437d408d978d5e78","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","export:all":"npm run export:test && npm run export:direct","scrape:url":"tsx src/cli.ts scrape --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/cli.ts browse","export:test":"node scripts/test-export.js","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","lint:scripts":"eslint \"scripts/**/*.js\" --rule 'no-undef:0' --rule 'no-console:0'","export:direct":"node scripts/direct-export.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","xlsx":"^0.18.5","chalk":"^5.4.1","inquirer":"9.2.17","json2csv":"^5.0.7","commander":"^13.1.0","puppeteer":"^24.8.1","xmlbuilder2":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.3.4_1756499530460_0.1693108641989356","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"isbn-bisac-tools","version":"0.3.5","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.3.5","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"cfb3ca3159dacc0822fd1938b35c34bc7338cebc","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.3.5.tgz","fileCount":109,"integrity":"sha512-IoVZkIIolQEemCQxsgMb051PMzYXS7YOpNgT1Tr7sxtOmOAgXD5JsWqJJCa2sZWv+k73/uPD9C3fizBoHbF4Lg==","signatures":[{"sig":"MEYCIQC0LaPBCzKqE5oYxJsOcKttKSvH19QHv/Bq8D6hohBiSAIhAMKjpgsG+qR4yPE0ua29A07K5vkaL5wb+uDw6LnXBtlo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1236407},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli.d.ts","import":"./dist/src/cli.js"}},"gitHead":"e497b7c08f7b8ed0a567481f1346e57b9c858f48","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","export:all":"npm run export:test && npm run export:direct","scrape:url":"tsx src/cli.ts scrape --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/cli.ts browse","export:test":"node scripts/test-export.js","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","lint:scripts":"eslint \"scripts/**/*.js\" --rule 'no-undef:0' --rule 'no-console:0'","export:direct":"node scripts/direct-export.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","xlsx":"^0.18.5","chalk":"^5.4.1","inquirer":"9.2.17","json2csv":"^5.0.7","commander":"^13.1.0","puppeteer":"^24.8.1","xmlbuilder2":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.3.5_1756500041358_0.7616733502314526","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"isbn-bisac-tools","version":"0.4.0","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.4.0","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"c1d276abfbdc74a23fce8374a04cb8619bc7054e","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.4.0.tgz","fileCount":112,"integrity":"sha512-cx4oc8n/GNo+Xd0omsOVkcNouRosOpzU7bfYGpWGpUOA6LSbjJPs759Xx0lQXwznzy3l6UqBahpuAy3NsH59sA==","signatures":[{"sig":"MEUCIQC9jycXbbMEiBx3AOV5yGnbf/nqwYmVhFCg7VHFfxPu9QIgIcb1SUL/mhAS3jlbuGARXtpdIZs++5ocbHWGbv5W5mE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2707555},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli.d.ts","import":"./dist/src/cli.js"}},"gitHead":"887142f23011aa943be0fe75669917fc6ac51b0a","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","export:all":"npm run export:test && npm run export:direct","scrape:url":"tsx src/cli.ts scrape --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/cli.ts browse","export:test":"node scripts/test-export.js","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","lint:scripts":"eslint \"scripts/**/*.js\" --rule 'no-undef:0' --rule 'no-console:0'","export:direct":"node scripts/direct-export.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","validate-selectors":"node scripts/validate-selectors.js"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","xlsx":"^0.18.5","chalk":"^5.4.1","inquirer":"9.2.17","json2csv":"^5.0.7","commander":"^13.1.0","puppeteer":"^24.8.1","xmlbuilder2":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.4.0_1756502801998_0.8215648930698329","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"isbn-bisac-tools","version":"0.4.1","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","_id":"isbn-bisac-tools@0.4.1","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"bin":{"isbn-bisac-tools":"dist/src/cli.js"},"dist":{"shasum":"3c8ec857f1a8153aa41cf27cf807a6e1df4d8d68","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.4.1.tgz","fileCount":112,"integrity":"sha512-KMkui90yByvn6r0hZsL1S8lS43FxTRB0qmLIQOrXfzuPxKQ/jMb7sRBfgg2vWztcJUAJk917IAQcICqHjL+XGA==","signatures":[{"sig":"MEQCIAtysT3jtT15uklSRUmojlQrKMjL7yvdFV2t4vjmHG23AiAPiMPbR369dC25p+LG2aEGQHKKZXnEGeZBXT/ZnrIW+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2708579},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli.d.ts","import":"./dist/src/cli.js"}},"gitHead":"48141ed48d4da6c7e1b7d12d2c32367b823c028a","scripts":{"lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","clean":"rm -rf dist","start":"tsx src/cli.ts","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","scrape":"tsx src/cli.ts scrape","prepare":"husky","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","export:all":"npm run export:test && npm run export:direct","scrape:url":"tsx src/cli.ts scrape --url","test:bisac":"tsx test/bisac-selection.script.ts","test:watch":"vitest","browse:json":"tsx src/cli.ts browse","export:test":"node scripts/test-export.js","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","lint:scripts":"eslint \"scripts/**/*.js\" --rule 'no-undef:0' --rule 'no-console:0'","export:direct":"node scripts/direct-export.js","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","validate-selectors":"node scripts/validate-selectors.js"},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"repository":{"url":"git+https://github.com/yourusername/isbn-bisac-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.2.0","glob":"^11.0.2","xlsx":"^0.18.5","chalk":"^5.4.1","inquirer":"9.2.17","json2csv":"^5.0.7","commander":"^13.1.0","puppeteer":"^24.8.1","xmlbuilder2":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"fx":"^31.0.0","tsx":"^4.19.4","husky":"^9.1.7","eslint":"^8.57.0","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/ora":"^3.1.0","commitizen":"^4.3.1","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^20.10.5","lint-staged":"^15.5.2","@commitlint/cli":"^19.8.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/puppeteer":"^7.0.4","typescript-eslint":"^7.0.2","@vitest/coverage-v8":"^3.1.3","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","cz-conventional-changelog":"^3.3.0","conventional-changelog-cli":"^5.0.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/isbn-bisac-tools_0.4.1_1756503128541_0.7040837699652687","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"isbn-bisac-tools","version":"0.4.2","description":"A toolkit for working with BISAC subject headings and ISBN lookups","main":"dist/src/index.js","types":"dist/src/index.d.ts","bin":{"isbn-bisac-tools":"dist/src/cli.js"},"type":"module","exports":{".":{"import":"./dist/src/index.js","types":"./dist/src/index.d.ts"},"./cli":{"import":"./dist/src/cli.js","types":"./dist/src/cli.d.ts"}},"scripts":{"browse:json":"tsx src/cli.ts browse","build":"npm run clean && npx tsc -p tsconfig.build.json --listEmittedFiles","changelog":"conventional-changelog -p angular -i CHANGELOG.md -r 1","changelog:first":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","clean":"rm -rf dist","commit":"git-cz","format":"prettier --write 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","format:check":"prettier --check 'src/**/*.ts' 'lib/**/*.ts' 'test/**/*.ts'","lint":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\"","lint:fix":"eslint \"src/**/*.ts\" \"lib/**/*.ts\" \"test/**/*.ts\" --fix","lint:scripts":"eslint \"scripts/**/*.js\" --rule 'no-undef:0' --rule 'no-console:0'","prepare":"husky","prepublishOnly":"npm run clean && npm run build && chmod +x dist/src/cli.js && cp package.json dist/ && mkdir -p dist/data && cp -r data/* dist/data/ && npm run changelog","scrape":"tsx src/cli.ts scrape","scrape:url":"tsx src/cli.ts scrape --url","start":"tsx src/cli.ts","test":"vitest run","test:bisac":"tsx test/bisac-selection.script.ts","export:test":"node scripts/test-export.js","export:direct":"node scripts/direct-export.js","export:all":"npm run export:test && npm run export:direct","test:coverage":"vitest run --coverage","test:watch":"vitest","validate-selectors":"node scripts/validate-selectors.js","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md"},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","dependencies":{"chalk":"^5.4.1","commander":"^13.1.0","glob":"^11.0.2","inquirer":"9.2.17","json2csv":"^5.0.7","ora":"^8.2.0","puppeteer":"^24.8.1","xlsx":"^0.18.5","xmlbuilder2":"^3.1.1"},"devDependencies":{"@commitlint/cli":"^19.8.0","@commitlint/config-conventional":"^19.8.0","@eslint/js":"^8.57.0","@types/glob":"^8.1.0","@types/inquirer":"^9.0.8","@types/json2csv":"^5.0.7","@types/node":"^20.10.5","@types/ora":"^3.1.0","@types/puppeteer":"^7.0.4","@vitest/coverage-v8":"^3.1.3","commitizen":"^4.3.1","conventional-changelog-cli":"^5.0.0","cz-conventional-changelog":"^3.3.0","eslint":"^8.57.0","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.1.3","fx":"^31.0.0","husky":"^9.1.7","lint-staged":"^15.5.2","prettier":"^3.2.5","ts-node":"^10.9.2","tsx":"^4.19.4","typescript":"^5.8.3","typescript-eslint":"^7.0.2","vitest":"^3.1.3"},"engines":{"node":">=18.0.0"},"repository":{"type":"git","url":"git+https://github.com/yourusername/isbn-bisac-tools.git"},"bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","publishConfig":{"access":"public"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","_id":"isbn-bisac-tools@0.4.2","gitHead":"3c1cd7896529e52e9ef7f0b8f1d355ad67a9363b","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-I6XTivlDHRJKuV2aFqmbNxi2ri2oNYCJP3z/LuBP86pcs8RvvBvNhr6bJGb5mvd5LhYd4SYsU+yh9QZyw+qMAg==","shasum":"46bdfe952037b0e248782db44265690ac59ddc48","tarball":"https://registry.npmjs.org/isbn-bisac-tools/-/isbn-bisac-tools-0.4.2.tgz","fileCount":115,"unpackedSize":2716087,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCcrA/jlX0Sa+PDPdOlzyXG351Qa4twz0bnkNqiPeXm8QIgIXAsIA/I0NNfx4tzEyKOX8nehlGMkbVhnyvfYpuqBiU="}]},"_npmUser":{"name":"rlueder","email":"rlueder@pm.me"},"directories":{},"maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/isbn-bisac-tools_0.4.2_1756503646928_0.04098288510433634"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-06T21:05:32.462Z","modified":"2025-08-29T21:40:47.322Z","0.1.1":"2025-05-06T21:05:32.796Z","0.1.3":"2025-05-06T21:19:09.312Z","0.1.4":"2025-05-06T21:31:38.246Z","0.2.0":"2025-05-06T22:31:41.116Z","0.2.2":"2025-05-06T22:51:07.814Z","0.2.3":"2025-05-06T23:25:00.082Z","0.2.4":"2025-05-06T23:47:16.297Z","0.2.5":"2025-05-06T23:58:10.620Z","0.2.6":"2025-05-07T00:30:00.570Z","0.2.7":"2025-05-07T00:35:41.616Z","0.2.8":"2025-05-07T05:05:08.975Z","0.2.9":"2025-05-07T05:11:09.384Z","0.2.10":"2025-05-07T05:18:56.850Z","0.2.11":"2025-05-07T05:43:11.442Z","0.3.0":"2025-08-29T15:49:40.679Z","0.2.12":"2025-08-29T16:12:16.606Z","0.2.13":"2025-08-29T16:17:58.732Z","0.2.14":"2025-08-29T18:06:44.654Z","0.3.1":"2025-08-29T19:06:51.463Z","0.3.2":"2025-08-29T19:57:53.238Z","0.3.3":"2025-08-29T20:23:35.066Z","0.3.4":"2025-08-29T20:32:10.655Z","0.3.5":"2025-08-29T20:40:41.584Z","0.4.0":"2025-08-29T21:26:42.195Z","0.4.1":"2025-08-29T21:32:08.853Z","0.4.2":"2025-08-29T21:40:47.122Z"},"bugs":{"url":"https://github.com/yourusername/isbn-bisac-tools/issues"},"author":{"name":"Rafael Lüder","email":"rlueder@pm.me"},"license":"MIT","homepage":"https://github.com/yourusername/isbn-bisac-tools#readme","keywords":["scraper","puppeteer","bisac","headless-browser","isbn","book-industry","publishing","metadata"],"repository":{"type":"git","url":"git+https://github.com/yourusername/isbn-bisac-tools.git"},"description":"A toolkit for working with BISAC subject headings and ISBN lookups","maintainers":[{"name":"rlueder","email":"rlueder@pm.me"}],"readme":"# isbn-bisac-tools\n\n[![npm version](https://img.shields.io/npm/v/isbn-bisac-tools.svg)](https://www.npmjs.com/package/isbn-bisac-tools)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js >=18.0.0](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/en/download/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue)](https://www.typescriptlang.org/)\n\nA comprehensive TypeScript toolkit for working with BISAC (Book Industry Standards and Communications) Subject Headings and ISBN lookups.\n\n> **⚠️ IMPORTANT DISCLAIMER:** This library is not affiliated with, endorsed by, or associated with the Book Industry Study Group (BISG). It is an independent, educational project created for research and learning purposes only. BISAC Subject Headings are owned by BISG and this tool is not intended for commercial use. Users should respect BISG's terms of service and intellectual property rights when using this library.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [CLI Commands](#cli-commands)\n  - [Using as a Module](#using-as-a-module)\n  - [ISBN to BISAC Conversion](#isbn-to-bisac-conversion)\n  - [Smart BISAC Code Selection](#smart-bisac-code-selection)\n  - [Utility Commands](#utility-commands)\n- [API](#api)\n- [Output](#output)\n- [Project Structure](#project-structure)\n- [Development](#development)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n- **BISAC Data Scraping**\n  - Fetch all BISAC subject categories or a single specified category\n  - Extract headings, notes, and subject codes with labels\n  - Save data in structured JSON format with date-stamped filenames\n\n- **Lookup Utilities**\n  - Search by code, heading, label, or ISBN\n  - Translate ISBNs to BISAC codes using Google Books API\n  - Intelligently identify the most relevant BISAC code\n\n- **Data Export**\n  - Export BISAC data to CSV, Excel (XLSX), and XML formats\n  - Customizable field mappings and formatting options\n  - Support for file output or direct content access\n\n- **Usability**\n  - Interactive JSON browsing with `fx`\n  - Compare two JSON files to identify changes between different dates\n\n- **Developer Experience**\n  - Written in TypeScript with full type definitions\n  - Unit tests with Vitest\n  - ESLint and Prettier integration for code quality\n\n## Installation\n\n### Using as a Package\n\n```\n# Using npm\nnpm install isbn-bisac-tools\n\n# Using yarn\nyarn add isbn-bisac-tools\n\n# Using pnpm\npnpm add isbn-bisac-tools\n```\n\n### For Development\n\n```\n# Clone the repository\ngit clone https://github.com/rlueder/isbn-bisac-tools.git\ncd isbn-bisac-tools\n\n# Install dependencies\nnpm install\n\n# Build the package\nnpm run build\n```\n\n### Global Installation\n\n```\n# Using npm\nnpm install -g isbn-bisac-tools\n\n# Using yarn\nyarn global add isbn-bisac-tools\n```\n\n## Usage\n\n### CLI Commands\n\n**Basic Usage:**\n\n```\n# If installed globally\nisbn-bisac-tools [command] [options]\n\n# If installed locally\nnpx isbn-bisac-tools [command] [options]\n\n# Using from source (development)\nnpm start          # Shows help information\nnpm run scrape     # Runs the scraper\n# or\ntsx src/cli.ts [command] [options]\n```\n\n**Available Commands:**\n\n```\nscrape       Scrape BISAC subject headings from the BISG website\nhelp         Display detailed help information\nlookup       Look up BISAC subjects, codes, and headings\nbrowse       Interactively browse BISAC JSON files\ncompare      Compare two BISAC JSON files to identify changes\nexport       Export BISAC data to various formats\nisbn         Look up BISAC subjects for a book by ISBN\nenhance      Enhance book data with BISAC categories\n```\n\n**Scraping Commands:**\n\n```\n# Scrape all BISAC categories\nisbn-bisac-tools scrape\n\n# Scrape a single category\nisbn-bisac-tools scrape --url https://www.bisg.org/fiction\n\n# Test if the selectors are working\nisbn-bisac-tools scrape --test-selector\n\n# Test a custom selector\nisbn-bisac-tools scrape --test-selector \"table td a\"\n\n# Run in non-headless mode to see the browser\nisbn-bisac-tools scrape --no-headless\n\n# Take screenshots during scraping\nisbn-bisac-tools scrape --screenshots\n\n# Limit the number of categories to process\nisbn-bisac-tools scrape --limit 5\n\n# Merge with existing data instead of replacing\nisbn-bisac-tools scrape --merge\n```\n\n**Lookup Commands:**\n\n```\n# Look up a specific BISAC code\nisbn-bisac-tools lookup --code ANT007000\n\n# Look up subjects by label (partial matching)\nisbn-bisac-tools lookup --label \"Fantasy\"\n\n# Look up all codes for a specific heading\nisbn-bisac-tools lookup --heading \"FICTION\"\n\n# Look up a code by full label\nisbn-bisac-tools lookup --full-label \"FICTION / Fantasy\"\n\n# Search across all BISAC data\nisbn-bisac-tools lookup --search \"science\"\n\n# Look up BISAC subjects for a book by ISBN (saves to book_data.json)\nisbn-bisac-tools isbn 9781234567890\n\n# Enhance book data with BISAC categories\nisbn-bisac-tools enhance 9781234567890\nisbn-bisac-tools enhance 9781234567890 --output custom_book_data.json\n```\n\n**Analysis Commands:**\n\n```\n# Compare two BISAC JSON files\nisbn-bisac-tools compare\n\n# Browse BISAC JSON files interactively\nisbn-bisac-tools browse\n\n# Export BISAC data (basic usage)\nisbn-bisac-tools export                    # Default CSV output\nisbn-bisac-tools export -f csv -o data.csv # Specify format and output file\nisbn-bisac-tools export -f excel -o data.xlsx --sheet-name \"BISAC Codes\"\nisbn-bisac-tools export -f xml -o data.xml --pretty\n\n# Export with field customization\nisbn-bisac-tools export --fields code,label # Only specific fields\nisbn-bisac-tools export --mapping '{\"code\":\"BISAC_CODE\",\"label\":\"DESCRIPTION\"}' # Custom field names\nisbn-bisac-tools export --delimiter \";\" # Custom CSV delimiter\nisbn-bisac-tools export -f xml --xml-root \"bisac-codes\" # Custom XML root element\nisbn-bisac-tools export -f xml --pretty # Pretty print XML output\n```\n\n# Show help information\nisbn-bisac-tools --help\n```\n\n### Export Command\n\nThe export command allows you to convert BISAC data to various formats (CSV, Excel, XML) for use in other systems. This is useful for integration with other applications or data analysis.\n\n\n**Usage Examples:**\n\n\n**Basic Usage:**\n\n```bash\n# Default CSV export\nisbn-bisac-tools export\n\n# Export to specific format and file\nisbn-bisac-tools export -f csv -o output.csv\nisbn-bisac-tools export -f excel -o output.xlsx\nisbn-bisac-tools export -f xml -o output.xml\n```\n\n**Available Options:**\n\n- `-f, --format <format>`: Output format (csv, excel, xml). Default is csv\n- `-o, --output <file>`: Output file path (optional)\n- `--fields <list>`: Comma-separated list of fields to include\n- `--mapping <json>`: JSON string to map field names\n- `--delimiter <char>`: Custom delimiter for CSV output (default: ,)\n- `--sheet-name <name>`: Custom sheet name for Excel output\n- `--xml-root <name>`: Custom root element name for XML output\n- `--pretty`: Pretty print XML output\n\n**Examples:**\n\n```bash\n# Export only specific fields\nisbn-bisac-tools export --fields code,label\n\n# Export with custom field names\nisbn-bisac-tools export --mapping '{\"code\":\"BISAC_CODE\",\"label\":\"DESCRIPTION\"}'\n\n# Export to CSV with semicolon delimiter\nisbn-bisac-tools export --delimiter \";\" -o european.csv\n\n# Export to Excel with custom sheet name\nisbn-bisac-tools export -f excel --sheet-name \"BISAC Categories\" -o bisac.xlsx\n\n# Export to pretty-printed XML with custom root\nisbn-bisac-tools export -f xml --xml-root \"categories\" --pretty -o bisac.xml\n```\n\nAvailable fields for export:\n- `code`: The BISAC subject code\n- `heading`: The category heading\n- `label`: The descriptive label for the subject code\n\n**Troubleshooting Tips:**\n\nIf you encounter issues with the export command:\n\n1. Make sure you've generated BISAC data by running the scraper first: `isbn-bisac-tools scrape`\n2. Use absolute file paths with the `-o` option to avoid path resolution issues\n3. Verify you have write permissions in the output directory\n4. For larger exports, the Excel format may be more efficient than CSV or XML\n\n**Development Commands:**\n\n```\n# Run tests\nnpm test\n\n# Run tests in watch mode\nnpm run test:watch\n\n# Run tests with coverage\nnpm run test:coverage\n\n# Test BISAC code selection feature\nnpm run test:bisac\n\n# Code quality\nnpm run lint\nnpm run lint:fix\nnpm run format\nnpm run format:check\n\n# Browse JSON results interactively\nnpm run browse:json\n```\n\n### Using as a Module\n\n```javascript\nimport {\n  scrape,\n  getFullLabelFromCode,\n  getCodesForHeading,\n  getCodeFromFullLabel,\n  getCodeFromISBN,\n  compareBisacJsonFiles\n} from 'isbn-bisac-tools';\n\n// Scrape BISAC data\nconst allData = await scrape();\n\n// Scrape a single category\nconst fictionData = await scrape('https://www.bisg.org/fiction');\n\n// Lookup by code\nconst fullLabel = await getFullLabelFromCode('ANT007000', './path/to/data.json');\n\n// Get codes for a heading\nconst codes = await getCodesForHeading('FICTION', './path/to/data.json');\n\n// Get code from full label\nconst code = await getCodeFromFullLabel('FICTION / War & Military', './path/to/data.json');\n\n// Get BISAC codes from ISBN\nconst { title, categories, bestCategory } = await getCodeFromISBN('9781234567890', './path/to/data.json');\nconsole.log(`Book: ${title}`);\nconsole.log(`Best BISAC Category: ${bestCategory.code} | ${bestCategory.fullLabel}`);\n\n// Compare two BISAC JSON files\nconst comparison = await compareBisacJsonFiles('./older-file.json', './newer-file.json');\nconsole.log(`Found ${comparison.summary.newSubjects} new subjects`);\n```\n\n### Code Lookup\n\nThe code lookup utility retrieves the full label for a BISAC code.\n\n```\nisbn-bisac-tools --code ANT007000\n```\n\nSample output:\n```\n🔍 Looking up full label for code: ANT007000\n📅 Loaded BISAC data from 2025-05-06 (timestamp: 1746569281258)\n✅ Found: Antiques & Collectibles / Buttons & Pins\n```\n\n### Heading Lookup\n\nThe heading lookup utility retrieves all BISAC codes and labels for a specific category heading.\n\n```\nisbn-bisac-tools --heading \"FICTION\"\n```\n\nSample output (abbreviated):\n```\n🔍 Looking up codes for heading: FICTION\n📅 Loaded BISAC data from 2025-05-06 (timestamp: 1746569281258)\n✅ Found 394 results:\n┌─────────┬─────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐\n│ (index) │ code        │ fullLabel                                                                                          │\n├─────────┼─────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤\n│ 0       │ 'FIC000000' │ 'Fiction / General'                                                                                │\n│ 1       │ 'FIC064000' │ 'Fiction / Absurdist'                                                                              │\n│ 2       │ 'FIC002000' │ 'Fiction / Action & Adventure'                                                                     │\n│ 3       │ 'FIC075000' │ 'Fiction / Adaptations & Pastiche'                                                                 │\n│ ...     │ ...         │ ...                                                                                                │\n│ 393     │ 'FIC077100' │ 'Fiction / World Literature / Russian & Soviet Union'                                              │\n└─────────┴─────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘\n```\n\n### Label Lookup\n\nThe label lookup utility finds the BISAC code corresponding to a specific label.\n\n```\nisbn-bisac-tools --label \"FICTION / War & Military\"\n```\n\nSample output:\n```\n🔍 Looking up code for label: FICTION / War & Military\n📅 Loaded BISAC data from 2025-05-06 (timestamp: 1746569281258)\n✅ Found: FIC032000\n```\n\n### ISBN to BISAC Conversion\n\nThe ISBN to BISAC conversion utility looks up BISAC codes for any book using its ISBN-10 or ISBN-13.\n\n```\nisbn-bisac-tools --isbn 9780735222168\n```\n\nSample output:\n```\n🔍 Looking up BISAC code(s) for ISBN: 9780735222168\n📚 Book Title: All of the Marvels\n🌟 BEST MATCH: LIT017000 | Literary Criticism / Comics & Graphic Novels\n✅ Found 70 BISAC categories:\n┌─────────┬────────────┬──────────────────────────────────────┐\n│ (index) │    code    │              fullLabel               │\n├─────────┼────────────┼──────────────────────────────────────┤\n│    0    │ 'ARC001000' │    'Architecture / Criticism'       │\n│    1    │ 'FIC019000' │    'Fiction / Literary'             │\n│    2    │ 'LIT000000' │    'Literary Criticism / General'   │\n└─────────┴────────────┴──────────────────────────────────────┘\n```\n\n### Smart BISAC Code Selection\n\nThe system intelligently identifies the most relevant BISAC code using a smart ranking algorithm that:\n\n1. Analyzes Google Books metadata\n2. Performs content analysis of book descriptions\n3. Evaluates contextual relevance\n4. Applies special pattern recognition\n\n### Comparison Tool\n\nThe comparison tool identifies changes between different versions of BISAC data JSON files.\n\n```\nisbn-bisac-tools --compare\n```\n\nWhen you have multiple backup files available, you'll be prompted to select which files to compare. The tool produces a detailed report of added, removed, and modified subjects.\n\n### Utility Commands\n\n```\n# Interactively browse JSON output files\nnpm run browse:json\n```\n\n## API\n\n### scrape(url?: string, options?: ScrapeOptions): Promise<BisacData[]>\n\nScrapes BISAC data from the BISG website.\n\n- `url`: Optional URL to scrape a single category\n- `options`: Optional configuration (screenshots, delays, etc.)\n- Returns: Array of BISAC data objects\n\n### getFullLabelFromCode(code: string, dataPath: string): Promise<string | null>\n\nGets the full label for a BISAC code.\n\n- `code`: BISAC code (e.g., 'ANT007000')\n- `dataPath`: Path to the JSON data file\n- Returns: Full label or null if not found\n\n### getCodesForHeading(heading: string, dataPath: string): Promise<Array<{code: string, label: string}>>\n\nGets all codes for a category heading.\n\n- `heading`: Category heading (e.g., 'FICTION')\n- `dataPath`: Path to the JSON data file\n- Returns: Array of code/label objects\n\n### getCodeFromFullLabel(fullLabel: string, dataPath: string): Promise<string | null>\n\nGets the code for a full label.\n\n- `fullLabel`: Full BISAC label (e.g., 'FICTION / War & Military')\n- `dataPath`: Path to the JSON data file\n- Returns: BISAC code or null if not found\n\n### getCodeFromISBN(isbn: string, dataPath: string): Promise<IsbnLookupResult>\n\nGets BISAC code(s) for a book by ISBN.\n\n- `isbn`: ISBN-10 or ISBN-13\n- `dataPath`: Path to the JSON data file\n- Returns: Object with title, categories, and best category\n\n### compareBisacJsonFiles(olderFile: string, newerFile: string): Promise<ComparisonResult>\n\nCompares two BISAC JSON files to identify changes.\n\n- `olderFile`: Path to the older JSON file\n- `newerFile`: Path to the newer JSON file\n- Returns: Object with comparison results\n\n## Output\n\nThe script generates:\n\n- JSON file: `./data/bisac-data.json` (shipped with the library)\n- Screenshots: `./screenshots/` directory (for debugging)\n- Console output: Progress information and statistics\n\n### JSON Structure\n\n```json\n[\n  {\n    \"heading\": \"ANTIQUES & COLLECTIBLES\",\n    \"notes\": [\n      \"Use subjects in this section for works about collecting the objects...\",\n      \"Multiple subjects may be used to describe a work fully...\"\n    ],\n    \"subjects\": [\n      {\n        \"code\": \"ANT000000\",\n        \"label\": \"ANTIQUES & COLLECTIBLES / General\"\n      },\n      ...\n    ]\n  },\n  ...\n]\n```\n\n## Project Structure\n\n```\n./\n├── lib/               # Utility functions and core features\n├── src/               # Source code\n│   ├── index.ts       # Main application entry point\n│   ├── browse-json.ts # JSON browsing functionality\n│   └── types/         # TypeScript type definitions\n├── test/              # Unit tests\n├── dist/              # Compiled JavaScript (generated)\n├── data/              # BISAC data files (shipped with the library)\n├── screenshots/       # Debug screenshots\n├── tsconfig.json      # TypeScript configuration\n├── eslint.config.js   # ESLint configuration\n├── .prettierrc        # Prettier configuration\n├── vitest.config.ts   # Vitest configuration\n├── package.json       # Project metadata and dependencies\n└── README.md          # Project documentation\n```\n\n## Development\n\n### Prerequisites\n\n- Node.js >=18.0.0\n- npm, yarn, or pnpm\n\n### Setting Up for Development\n\n```\ngit clone https://github.com/rlueder/isbn-bisac-tools.git\ncd isbn-bisac-tools\nnpm install\n```\n\n### Commit Conventions\n\nThis project follows [Conventional Commits](https://www.conventionalcommits.org/) for structured, semantic commit messages. The following tools are set up to help maintain this convention:\n\n- **Commitizen**: Interactive prompt to format commit messages\n- **Commitlint**: Validates commit messages against the convention\n- **Husky**: Git hooks to enforce validation before commits\n\nTo create a properly formatted commit:\n\n```\n# Use this instead of git commit\nnpm run commit\n```\n\nThis starts an interactive prompt to guide you through creating a conventional commit message. See [COMMIT_CONVENTION.md](./COMMIT_CONVENTION.md) for detailed examples and guidelines.\n\nCommon types of commits:\n- `feat`: New features\n- `fix`: Bug fixes\n- `docs`: Documentation changes\n- `style`: Code style changes (formatting, etc.)\n- `refactor`: Code changes that neither fix bugs nor add features\n- `test`: Adding or fixing tests\n- `chore`: Maintenance tasks\n\nThese commit messages automatically help with semantic versioning:\n- `fix:` → patch version (0.0.X)\n- `feat:` → minor version (0.X.0)\n- `feat:` with `BREAKING CHANGE:` → major version (X.0.0)\n\n### Automated Publishing\n\nThis project uses GitHub Actions for fully automated publishing:\n\n1. When you push to the `master` branch, the CI workflow automatically:\n   - Analyzes commit messages since the last release\n   - Determines the appropriate version bump (patch, minor, or major)\n   - Updates the package.json version\n   - Generates the CHANGELOG entry\n   - Creates a git tag\n   - Publishes to npm\n\nThis means you don't need to manually run any release commands. Just:\n1. Make your code changes\n2. Commit with the appropriate conventional commit type\n3. Push to master\n4. The GitHub Actions workflow handles versioning and publishing automatically\n\nFor more details, see [PUBLISHING.md](./PUBLISHING.md).\n\n### Adding New Features\n\n1. Write your TypeScript code\n2. Add appropriate tests in the `test` directory\n3. Run tests: `npm test`\n4. Ensure code passes linting: `npm run lint`\n5. Build the project: `npm run build`\n\n## Troubleshooting\n\n- **JSON Exploration**: Use `npm run browse:json` to interactively explore JSON files\n- **Screenshots**: Check the `./screenshots` directory for debugging visuals\n- **Rate Limiting**: Increase delay values if the website is throttling requests\n- **Website Structure Changes**: \n  - Use `npm run scrape -- --test-selector` to validate selectors\n  - Run `npm run validate-selectors` to check all critical selectors\n  - See [SELECTOR_VALIDATION.md](docs/SELECTOR_VALIDATION.md) for more details\n- **File Overwrite Issues**: The scraper prompts before overwriting existing files\n- **Command-line Issues**:\n  - Use quotes around arguments with spaces\n  - In Windows command prompt, use double quotes\n  - In PowerShell, escape special characters (e.g., `^&`)\n  - If no output appears when using `-v`, `--version`, or `--help`, make sure you're using version 0.3.3 or later\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch: `git checkout -b feature/amazing-feature`\n3. Commit your changes: `git commit -m 'Add some amazing feature'`\n4. Push to the branch: `git push origin feature/amazing-feature`\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","readmeFilename":"README.md"}