{"_id":"@a95z/slugify","_rev":"7-c76404189b0420ba8177dd05b10bc630","name":"@a95z/slugify","dist-tags":{"latest":"1.0.1"},"versions":{"0.9.1":{"name":"@a95z/slugify","version":"0.9.1","keywords":["slugify","slug","url-slug","string-utils","text-processing","typescript","esm","commonjs","url"],"author":{"url":"https://www.abdurezak.com","name":"Abdurezak Farah","email":"abdurazak.awil1@gmail.com"},"license":"MIT","_id":"@a95z/slugify@0.9.1","maintainers":[{"name":"a95z","email":"abdurazak.awil1@gmail.com"}],"contributors":[{"url":"https://www.abdurezak.com","name":"Abdurezak Farah","email":"abdurazak.awil1@gmail.com"}],"homepage":"https://github.com/a95z/slugify#readme","bugs":{"url":"https://github.com/a95z/slugify/issues"},"dist":{"shasum":"bfe8ab0d037a77dc78a6a434f1c6f644d75391dd","tarball":"https://registry.npmjs.org/@a95z/slugify/-/slugify-0.9.1.tgz","fileCount":7,"integrity":"sha512-Zm23OX/neO2FHBTxsrBk1N58iSSgi8cKRH9sqyL4T7Qmp+yi7J+ApDpqMrdeIxlSOCnFpw4RIHU+Qgu9CnfBSA==","signatures":[{"sig":"MEUCIQCkbIwilLu6E62c5JjkI+N6cLzk8G1OpX3oa79MI1SEkQIgNXbaQiKQrk9iaN3168h8jQ9r8SJhQ/LhtegLZEXtf9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11045},"main":"dist/index.js","_from":"file:a95z-slugify-0.9.1.tgz","husky":{"hooks":{"pre-push":"lint-staged","pre-commit":"lint-staged"}},"types":"dist/index.d.ts","config":{"commitizen":{"path":"@commitlint/cz-commitlint"}},"module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsup","commit":"git-cz","format":"prettier \"src/**/*.ts\" --check","test:prod":"vitest -w=false","format:fix":"prettier \"src/**/*.ts\" --write"},"_npmUser":{"name":"a95z","email":"abdurazak.awil1@gmail.com"},"_resolved":"/tmp/6e051437f850a442e171619f89999253/a95z-slugify-0.9.1.tgz","_integrity":"sha512-Zm23OX/neO2FHBTxsrBk1N58iSSgi8cKRH9sqyL4T7Qmp+yi7J+ApDpqMrdeIxlSOCnFpw4RIHU+Qgu9CnfBSA==","repository":{"url":"git+https://github.com/a95z/slugify.git","type":"git"},"_npmVersion":"10.8.2","description":"A utility function to convert a string into a URL-friendly slug, with support for string sanitization, normalization, and transformation.","directories":{},"_nodeVersion":"18.20.6","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.6","vite":"^6.1.0","husky":"^8.0.3","vitest":"^3.0.5","inquirer":"9","prettier":"^3.5.1","commitizen":"^4.3.1","typescript":"^5.7.3","@types/node":"22","lint-staged":"^13.3.0","@changesets/cli":"^2.27.12","@commitlint/cli":"^19.7.1","@commitlint/types":"^19.5.0","@commitlint/cz-commitlint":"^19.6.1","@commitlint/config-conventional":"^19.7.1"},"_npmOperationalInternal":{"tmp":"tmp/slugify_0.9.1_1739909631388_0.9623643409585787","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@a95z/slugify","version":"1.0.1","description":"A utility function to convert a string into a URL-friendly slug, with support for string sanitization, normalization, and transformation.","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"}},"keywords":["slugify","slug","url-slug","string-utils","text-processing","typescript","esm","commonjs","url"],"author":{"name":"Abdurezak Farah","email":"abdurazak.awil1@gmail.com","url":"https://www.abdurezak.com"},"engines":{"node":">=18.0.0"},"publishConfig":{"provenance":false,"access":"public"},"devDependencies":{"@changesets/cli":"^2.27.12","@commitlint/cli":"^19.7.1","@commitlint/config-conventional":"^19.7.1","@commitlint/cz-commitlint":"^19.6.1","@commitlint/types":"^19.5.0","@types/node":"22","commitizen":"^4.3.1","husky":"^8.0.3","inquirer":"9","lint-staged":"^13.3.0","prettier":"^3.5.1","tsup":"^8.3.6","typescript":"^5.7.3","vite":"^6.1.0","vitest":"^3.0.5"},"repository":{"type":"git","url":"git+https://github.com/a95z/slugify.git"},"license":"MIT","bugs":{"url":"https://github.com/a95z/slugify/issues"},"homepage":"https://github.com/a95z/slugify#readme","contributors":[{"name":"Abdurezak Farah","email":"abdurazak.awil1@gmail.com","url":"https://www.abdurezak.com"}],"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"lint-staged"}},"config":{"commitizen":{"path":"@commitlint/cz-commitlint"}},"scripts":{"format":"prettier \"src/**/*.ts\" --check","format:fix":"prettier \"src/**/*.ts\" --write","build":"tsup","lint":"tsc --noEmit","test":"vitest","test:prod":"vitest -w=false","commit":"git-cz"},"_id":"@a95z/slugify@1.0.1","_integrity":"sha512-xGuxolm3pvLS0ZH2kMJ+2QeA4lr9TOwgSslQz8uV2TXbQ5WXlNK6N3sZIR8OQRSgl3urTMeDA1hsrE4aNGZX4A==","_resolved":"/tmp/a1ecc1d299126590868ec5ccab67263a/a95z-slugify-1.0.1.tgz","_from":"file:a95z-slugify-1.0.1.tgz","_nodeVersion":"18.20.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-xGuxolm3pvLS0ZH2kMJ+2QeA4lr9TOwgSslQz8uV2TXbQ5WXlNK6N3sZIR8OQRSgl3urTMeDA1hsrE4aNGZX4A==","shasum":"690658ed6b2d13eacbff7b86e601deba8f02459b","tarball":"https://registry.npmjs.org/@a95z/slugify/-/slugify-1.0.1.tgz","fileCount":7,"unpackedSize":11045,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCz8G7HDZx5mLRSuZ4SiR8DuIMbgkOHyv2i5odpeWMHzQIgGZHSNFiX8DOcvkv4XxmBMtHJkpAYhXS5VHkFmbw0/rU="}]},"_npmUser":{"name":"a95z","email":"abdurazak.awil1@gmail.com"},"directories":{},"maintainers":[{"name":"a95z","email":"abdurazak.awil1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/slugify_1.0.1_1739911988190_0.14073432097652527"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-18T20:13:51.326Z","modified":"2025-02-18T20:53:08.569Z","1.0.0":"2025-02-17T14:43:35.371Z","0.0.0-patch-20250218183034":"2025-02-18T18:39:38.845Z","0.9.0":"2025-02-18T19:08:02.718Z","0.9.1":"2025-02-18T20:13:51.587Z","1.0.1":"2025-02-18T20:53:08.388Z"},"bugs":{"url":"https://github.com/a95z/slugify/issues"},"author":{"name":"Abdurezak Farah","email":"abdurazak.awil1@gmail.com","url":"https://www.abdurezak.com"},"license":"MIT","homepage":"https://github.com/a95z/slugify#readme","keywords":["slugify","slug","url-slug","string-utils","text-processing","typescript","esm","commonjs","url"],"repository":{"type":"git","url":"git+https://github.com/a95z/slugify.git"},"description":"A utility function to convert a string into a URL-friendly slug, with support for string sanitization, normalization, and transformation.","contributors":[{"name":"Abdurezak Farah","email":"abdurazak.awil1@gmail.com","url":"https://www.abdurezak.com"}],"maintainers":[{"name":"a95z","email":"abdurazak.awil1@gmail.com"}],"readme":"# @a95z/slugify - Documentation\r\n\r\nA utility function to convert a string into a URL-friendly slug with support for string sanitization, normalization, and transformation. This package is designed to create slugs from text for usage in URLs, making it easy to ensure your slugs are clean, readable, and SEO-friendly.\r\n\r\n## Features\r\n\r\n- **Supports ASCII characters only**: Automatically normalizes characters and removes any unwanted symbols.\r\n- **URL-friendly**: Converts spaces to dashes, removes special characters, and ensures the string is lowercase.\r\n- **Optimized for TypeScript**: Fully typed with TypeScript support to integrate seamlessly into your codebase.\r\n- **Works with ESM and CommonJS**: Flexible exports for both modern and legacy systems.\r\n\r\n## Installation\r\n\r\nYou can install `@a95z/slugify` via npm, yarn, or pnpm.\r\n\r\n### Using npm:\r\n\r\n```bash\r\nnpm install @a95z/slugify\r\n```\r\n\r\n### Using yarn:\r\n\r\n```bash\r\nyarn add @a95z/slugify\r\n```\r\n\r\n### Using pnpm:\r\n\r\n```bash\r\npnpm add @a95z/slugify\r\n```\r\n\r\n## Usage\r\n\r\nOnce installed, you can import the `slugify` function into your project.\r\n\r\n### Example\r\n\r\n```ts\r\nimport { slugify } from '@a95z/slugify';\r\n\r\nconst text = 'Hello World! This is a test.';\r\nconst slug = slugify(text);\r\nconsole.log(slug); // Output: \"hello-world-this-is-a-test\"\r\n```\r\n\r\n## Development\r\n\r\nTo contribute to this package or make changes locally, you'll need to clone the repository and install the dependencies.\r\n\r\n### Clone the repository:\r\n\r\n```bash\r\ngit clone https://github.com/a95z/slugify.git\r\ncd slugify\r\n```\r\n\r\n### Install dependencies:\r\n\r\nUsing pnpm (recommended):\r\n\r\n```bash\r\npnpm install\r\n```\r\n\r\n### Run the tests:\r\n\r\nWe use Vitest for testing. To run the tests, use the following command:\r\n\r\n```bash\r\npnpm install\r\n```\r\n\r\n### Format the code:\r\n\r\nTo ensure your code is properly formatted, use the prettier command:\r\n\r\n```bash\r\npnpm format:fix\r\n```\r\n\r\n### Lint the code:\r\n\r\nYou can run TypeScript type-checking with:\r\n\r\n```bash\r\npnpm lint\r\n```\r\n\r\n## Contributing\r\n\r\nWe welcome contributions! Please fork the repository and submit a pull request. Before submitting, ensure you run the tests and format the code according to the project standards.\r\n\r\n### Steps:\r\n\r\n1. Fork the repository.\r\n2. Clone your fork locally.\r\n3. Create a feature branch: `git checkout -b feature-branch-name`.\r\n4. Make your changes.\r\n5. Run tests to make sure everything works.\r\n6. Commit your changes with clear, concise messages.\r\n7. Push to your fork and submit a pull request.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.\r\n\r\n## Changelog\r\n\r\nFor a list of changes, please refer to the [CHANGELOG](CHANGELOG.md).\r\n\r\n---\r\n\r\nThis package is created and maintained by Abdurezak Farah ([abdurezak.com](https://www.abdurezak.com), [Twitter (X)](https://www.x.com/abdurezakfarah)).\r\n","readmeFilename":"README.md"}