{"_id":"@catgirls/better-format","_rev":"2-043d160245320ab1f08f135e5643b45f","name":"@catgirls/better-format","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@catgirls/better-format","version":"0.0.1","keywords":["uwu","catgirl","format","string formatter","titles","text","capitalize"],"author":{"name":"Dezziez"},"license":"MIT","_id":"@catgirls/better-format@0.0.1","maintainers":[{"name":"dexxiez","email":"toby@boulton.net.au"}],"homepage":"https://github.com/dexxiez/catgirls#readme","bugs":{"url":"https://github.com/dexxiez/catgirls/issues"},"dist":{"shasum":"af7175a3473cacc5591e67e6e762625e92f0fcd3","tarball":"https://registry.npmjs.org/@catgirls/better-format/-/better-format-0.0.1.tgz","fileCount":9,"integrity":"sha512-Ml6G8JESl+CkHpK4AhrLsfkY/yZv3w/OF6x0elpi0+nKPItJXD0fAw87wfkl5tQ4Q2QYqXmTeqUKfnSiW2WZXQ==","signatures":[{"sig":"MEUCIHBNsZ8AicKAP28d0Mfo7shPl5Urr053OL3AL/6lpyuHAiEAnFP07S7Hz127NjFKklWdhB4+K1nMXJ9juVGDBlKTJnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24659},"main":"dist/index.js","_from":"file:catgirls-better-format-0.0.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist node_modules","test:ui":"vitest --ui","test:watch":"vitest","publish-pkg":"pnpm build && pnpm publish --access public"},"_npmUser":{"name":"dexxiez","email":"toby@boulton.net.au"},"_resolved":"/tmp/7f7b756d34ebb37104d792696b4af2ec/catgirls-better-format-0.0.1.tgz","_integrity":"sha512-Ml6G8JESl+CkHpK4AhrLsfkY/yZv3w/OF6x0elpi0+nKPItJXD0fAw87wfkl5tQ4Q2QYqXmTeqUKfnSiW2WZXQ==","repository":{"url":"git+https://github.com/dexxiez/catgirls.git","type":"git","directory":"packages/better-format"},"_npmVersion":"11.4.2","description":"Make strings actually look good.","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"3.2.4","ts-node":"^10.9.2","@vitest/ui":"3.2.4","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/better-format_0.0.1_1754032454422_0.7583136447625267","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@catgirls/better-format","version":"1.0.0","description":"Make strings actually look good.","author":{"name":"Dezziez"},"license":"MIT","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.mjs","require":"./dist/angular.js"}},"peerDependencies":{"@angular/core":">=19.0.0"},"peerDependenciesMeta":{"@angular/core":{"optional":true}},"devDependencies":{"@angular/core":"^20.0.0","@vitest/coverage-v8":"3.2.4","@vitest/ui":"3.2.4","ts-node":"^10.9.2","vitest":"3.2.4"},"repository":{"type":"git","url":"git+https://github.com/dexxiez/catgirls.git","directory":"packages/better-format"},"keywords":["uwu","catgirl","format","string formatter","titles","text","capitalize"],"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui","clean":"rm -rf dist node_modules","publish-pkg":"pnpm build && pnpm publish --access public"},"_id":"@catgirls/better-format@1.0.0","bugs":{"url":"https://github.com/dexxiez/catgirls/issues"},"homepage":"https://github.com/dexxiez/catgirls#readme","_integrity":"sha512-SRsM/lxBhuLqzQ/QJZYmDxx/SJ60Uve5R5Q9BUpTrkTgAjEVuo2IlR/K8MsdQ2vGNfpVxJpox5husxwC3QH/tw==","_resolved":"/tmp/6c6a53d01363a69eb9c7f07f51cbd943/catgirls-better-format-1.0.0.tgz","_from":"file:catgirls-better-format-1.0.0.tgz","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-SRsM/lxBhuLqzQ/QJZYmDxx/SJ60Uve5R5Q9BUpTrkTgAjEVuo2IlR/K8MsdQ2vGNfpVxJpox5husxwC3QH/tw==","shasum":"132de4087d6b44d8bc6f52f56c66e387824aba63","tarball":"https://registry.npmjs.org/@catgirls/better-format/-/better-format-1.0.0.tgz","fileCount":19,"unpackedSize":44052,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA9oKmk/p4DCVuu1zndEO4Z7px3FGHONR5FS3x0LMySDAiEAuDyuKvdo0sjtnJQ0GIus2rPF66cOlgvfm4guB+Voe8Q="}]},"_npmUser":{"name":"dexxiez","email":"toby@boulton.net.au"},"directories":{},"maintainers":[{"name":"dexxiez","email":"toby@boulton.net.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/better-format_1.0.0_1755896692864_0.9363725544015025"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-01T07:14:14.361Z","modified":"2025-08-22T21:04:53.271Z","0.0.1":"2025-08-01T07:14:14.584Z","1.0.0":"2025-08-22T21:04:53.092Z"},"bugs":{"url":"https://github.com/dexxiez/catgirls/issues"},"author":{"name":"Dezziez"},"license":"MIT","homepage":"https://github.com/dexxiez/catgirls#readme","keywords":["uwu","catgirl","format","string formatter","titles","text","capitalize"],"repository":{"type":"git","url":"git+https://github.com/dexxiez/catgirls.git","directory":"packages/better-format"},"description":"Make strings actually look good.","maintainers":[{"name":"dexxiez","email":"toby@boulton.net.au"}],"readme":"# @catgirls/better-format ✨\n\nNyaa~! Let's make strings that don't look like garbage! ฅ^•ﻌ•^ฅ\n\nNOTE: Currently in alphaaa, not for cat or human consumption yet. xx\n\n## What's This? uwu\n\nA proper title case formatter that actually knows grammar rules! You get:\n\n- Proper title case formatting that follows English grammar rules 🎯\n- Smart handling of articles, conjunctions, and prepositions 😿\n- Dash and underscore cleaning (because who wants ugly separators?) 🌟\n- Custom word exclusion for special cases 🌱\n- Zero runtime dependencies (because we're minimalists!)\n\n## Installation\n\n```bash\npnpm add @catgirls/better-format\n# or yarn/npm if you're feeling traditional :3\n```\n\n## Usage\n\n_wiggles excitedly_\nFirst, let's make some ugly strings pretty:\n\n```typescript\nimport formatBetter from \"@catgirls/better-format\";\n\n// Basic title case - so easy!\nformatBetter(\"hello world\"); // \"Hello World\"\nformatBetter(\"THE QUICK BROWN FOX\"); // \"The Quick Brown Fox\"\n\n// Smart grammar handling - articles stay lowercase!\nformatBetter(\"a tale of two cities\"); // \"A Tale of Two Cities\"\nformatBetter(\"lord of the rings\"); // \"Lord of the Rings\"\n\n// Handles punctuation like a boss\nformatBetter(\"mr. smith goes to washington\"); // \"Mr. Smith Goes to Washington\"\nformatBetter(\"title: subtitle here\"); // \"Title: Subtitle Here\"\n\n// Even works with contractions! *purrs*\nformatBetter(\"don't stop believing\"); // \"Don't Stop Believing\"\n```\n\n## Smart Grammar Rules\n\nMeow! We follow proper English title case rules:\n\n```typescript\n// Articles (a, an, the) stay lowercase\nformatBetter(\"the lord of the rings\"); // \"The Lord of the Rings\"\n\n// Conjunctions (and, or, but, etc.) stay lowercase\nformatBetter(\"fast and furious\"); // \"Fast and Furious\"\n\n// Prepositions (of, to, in, etc.) stay lowercase\nformatBetter(\"journey to the center\"); // \"Journey to the Center\"\n\n// BUT they get capitalized at the end!\nformatBetter(\"something to live for\"); // \"Something to Live For\"\n```\n\n## Options ʕ•ᴥ•ʔ\n\nNeed more control? We've got options:\n\n```typescript\n// Keep specific words exactly as they are\nformatBetter(\"this API stays uppercase\", {\n  excludeWords: [\"API\"],\n}); // \"This API Stays Uppercase\"\n\n// Disable dash cleaning\nformatBetter(\"test-case-here\", {\n  enableDashCleaning: false,\n}); // \"Test-case-here\"\n\n// Disable underscore cleaning\nformatBetter(\"snake_case_string\", {\n  enableUnderscoreCleaning: false,\n}); // \"Snake_case_string\"\n```\n\n## Why This? (｡♥‿♥｡)\n\nBecause `toUpperCase()` on every word makes you look like a caveman. This package gives you:\n\n- Proper English grammar rules (not just CAPITALIZE EVERYTHING)\n- Smart punctuation handling for real-world text\n- Automatic dash/underscore cleaning for slugs and filenames\n- Custom exclusions for brand names, acronyms, etc.\n- Zero dependencies because bloat is bad\n\n## API\n\n### `formatBetter(str, options?)`\n\nThe main function that makes strings actually readable.\n\n**Parameters:**\n\n- `str: string` - The string to format\n- `options?: FormatterOptions` - Optional formatting options\n\n**Options:**\n\n- `excludeWords?: string[]` - Words to keep exactly as provided\n- `enableDashCleaning?: boolean` - Replace dashes with spaces (default: true)\n- `enableUnderscoreCleaning?: boolean` - Replace underscores with spaces (default: true)\n\n## License\n\nMIT - Do whatever you want! ₍⸍⸌̣ʷ̣̫⸍̣⸌₎\n\n---\n\n_made with <3 by catgirls from vatican city_\n**purrs contentedly at properly formatted text**\n","readmeFilename":"README.md"}