{"_id":"@carbondigital/robots-generator","name":"@carbondigital/robots-generator","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@carbondigital/robots-generator","version":"0.0.1","description":"Robots generator that is used in our SEO application.","author":{"name":"Carbon Digital","email":"hello@carbondigital.us","url":"https://carbondigital.us/"},"license":"GNU","repository":{"type":"git","url":"git+https://github.com/carbondigitalus/semlinks-robots-generator.git"},"homepage":"https://github.com/carbondigitalus/semlinks-robots-generator#readme","bugs":{"url":"https://github.com/carbondigitalus/semlinks-robots-generator/issues"},"main":"./lib/index.js","scripts":{"build":"tsc --project tsconfig.build.json","clean":"rm -rf ./lib/","cm":"cz","lint":"eslint ./src/ --fix","npm:publish":"npm run clean && npm run build && npm publish --access public","prepare":"husky install","semantic-release":"semantic-release","start:dev":"nodemon -L ./src/index.ts && tsc -w","test:watch":"jest --watch","test":"jest --coverage","typecheck":"tsc --noEmit"},"devDependencies":{"@ryansonshine/commitizen":"^4.2.8","@ryansonshine/cz-conventional-changelog":"^3.3.4","@semantic-release/git":"^10.0.1","@swc/core":"^1.3.9","@swc/helpers":"^0.4.12","@types/jest":"^29.1.2","@types/node":"^18.11.0","@typescript-eslint/eslint-plugin":"^5.40.1","@typescript-eslint/parser":"^5.40.0","conventional-changelog-conventionalcommits":"^5.0.0","eslint":"^8.25.0","eslint-config-prettier":"^8.5.0","eslint-config-standard-with-typescript":"^23.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-n":"^15.3.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.1.0","husky":"^8.0.1","jest":"^29.2.0","lint-staged":"^13.0.3","prettier":"^2.7.1","regenerator-runtime":"^0.13.10","semantic-release":"^19.0.5","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.8.4"},"config":{"commitizen":{"path":"./node_modules/@ryansonshine/cz-conventional-changelog"}},"engines":{"node":">=16.14.0"},"lint-staged":{"*.ts":"eslint --cache --cache-location .eslintcache --fix"},"keywords":["seo","robots","generator","typescript","node","sem","links"],"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"type":"build","scope":"deps","release":"patch"}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"build","section":"Dependencies and Other Build Updates","hidden":false}]}}],"@semantic-release/npm",["@semantic-release/git",{"assets":["package.json"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"]},"types":"./lib/index.d.ts","gitHead":"cd431ad5f9fd4c30e1281369238dd64330879d22","_id":"@carbondigital/robots-generator@0.0.1","_nodeVersion":"16.14.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-YswqspVfZZ5/yvfWg2TAb8zv19aNKE9PFmKzjN6KkcNasC1gqTPCV2wa7q5QrvpQ+0y1QHg78Bu6DBKEmQcizw==","shasum":"fce9f27b051db4b8f2384d7768e7150649959a5f","tarball":"https://registry.npmjs.org/@carbondigital/robots-generator/-/robots-generator-0.0.1.tgz","fileCount":9,"unpackedSize":52601,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEg1Jmjxx2XnFVkb+Pv+caougxGUoT4Nm8pq6duGLee8AiAIypGkejIRf7yipjA24eflXAmu4GXh6ydJWcsJUXwG7Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVaKwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMOQ/+L/DVpYZ0EUycxt/fa/evgK4X67E8RUMxKsBf/UPZrMidgYe5\r\nBTEW0+kr3ixeC2wQeBUCBYmF9sSMXPb98ilQeh73hrZiTih0IeRwatdgLEV6\r\nOfXOIT5AE4SMHdfTtlc5kL/Yrew2jb4WxYKTAvUc7eDhRVnoYYYJR2jMyN40\r\nGXnJMNRwgAD1RQobs+rhFhGWi9kmns2HIEv6c+t7s8X2dwQWtaeMvF3tO3u1\r\nN6Q2iG0EWmNIgdgOcr3ZXeihidN/tnLAo/ybQspZWX6HAFBl81U/rNBWIyF3\r\nOTzEj+BdOpniRBM5Eu9itzQZa98YavhULuQBAJXJZuS0fdOR1/LV4+UWmFQ/\r\n9Yn0snH8uehY4uqrxGfrCqTHAmyAxKr+4KDoFZGL/V9Ve8n9gfcF4XgzNMLv\r\n5LAU4/SpqAtMHzNJbhWFLmr2EN0yV8yxf2LouvvYjOTQX53REb2DdwbTboPd\r\nlnR+ZJReFbVxwhavddWOyXXvFVwZjVSs9YtzOUdcAEyLbnVHr8o/IfIFpSK6\r\nlTMJe/hB9kQ/E926uXCPCZgXXHlobRA0J9GnPiwwTjlCE/W720REN5CF9bdc\r\n0Iz6zyz+TYIa82OiVS8mMqFY2i23lXj+fkuJsQtxftDwUKCP0FzxCs+wJeZ0\r\nE9lgyvt9hAkEUrnuHD+F4PKi6Kt/Nc2Wp0E=\r\n=0Ejs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jared.ledbetter","email":"hello@carbondigital.us"},"directories":{},"maintainers":[{"name":"jared.ledbetter","email":"hello@carbondigital.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/robots-generator_0.0.1_1666556592640_0.3944381218405777"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-23T20:23:12.566Z","0.0.1":"2022-10-23T20:23:12.826Z","modified":"2022-10-23T20:23:12.958Z"},"maintainers":[{"name":"jared.ledbetter","email":"hello@carbondigital.us"}],"description":"Robots generator that is used in our SEO application.","homepage":"https://github.com/carbondigitalus/semlinks-robots-generator#readme","keywords":["seo","robots","generator","typescript","node","sem","links"],"repository":{"type":"git","url":"git+https://github.com/carbondigitalus/semlinks-robots-generator.git"},"author":{"name":"Carbon Digital","email":"hello@carbondigital.us","url":"https://carbondigital.us/"},"bugs":{"url":"https://github.com/carbondigitalus/semlinks-robots-generator/issues"},"license":"GNU","readme":"<div id=\"top\"></div>\n<!-- PROJECT SHIELDS -->\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n\n<!-- PROJECT LOGO -->\n<br />\n<div align=\"center\">\n  <a href=\"https://github.com/carbondigitalus/sem-links/\">\n    <img src=\"_repo/logo.png\" alt=\"Logo\" width=\"400\" height=\"\">\n  </a>\n  <h3 align=\"center\">SEM Links</h3>\n  <p align=\"center\">\n    Search Engine Marketing (SEM) Links, which is the working title, is a Search Engine Optimization (SEO) tool. The current goal is to tackle all of the technical SEO areas of concern. The end goal aims much higher.\n    <br>\n    <br>\n    <a href=\"https://github.com/carbondigitalus/sem-links/issues\" target=\"_blank\">Module Bugs</a>\n    ·\n    <a href=\"https://semlinks.canny.io/semlinks\" target=\"_blank\">SEM Links Features</a>\n  </p>\n</div>\n\n<!-- TABLE OF CONTENTS -->\n<aside>\n  <summary>Table of Contents</summary>\n  <ol>\n    <li>\n      <a href=\"#about-the-project\">About The Project</a>\n      <ul>\n        <li><a href=\"#built-with\">Built With</a></li>\n      </ul>\n    </li>\n    <li><a href=\"#usage\">Usage</a></li>\n    <li><a href=\"#roadmap\">Roadmap</a></li>\n    <li><a href=\"#contributing\">Contributing</a></li>\n    <li><a href=\"#acknowledgments\">Acknowledgments</a></li>\n  </ol>\n</aside>\n\n<!-- ABOUT THE PROJECT -->\n\n## About The Project\n\nWe wanted a tool internally that would help us rapidly scale our SEO efforts, but ultimately, give us the ability to migrate offf our current toolchain for SEO. Like many agencies, our team spent thousands on SEO-realted software each year. Since we're not a multi-million dollar agency, it always hurts to pay those bills.\n\nIn light of that, we are building this software initially for our own team. We have already seen the power of competing with well-known tools that currently exist. One thing we aim to achieve is more honesty and more transparency. This is why we are building some modules has open-source NPM packages. So, give all developers the ability to see exactly what we're doing and contribute if they desire.\n\n<p align=\"right\">(<a href=\"#top\">back to top</a>)</p>\n\n### Built With\n\nBelow are the major frameworks/libraries that are currently used in this project, or soon to be added in a future release.\n\n- [Node.js](https://nodejs.org/)\n- [TypeScript](https://typescript.com/)\n\n<p align=\"right\">(<a href=\"#top\">back to top</a>)</p>\n\n<!-- USAGE EXAMPLES -->\n\n## Usage\n\nSetup Data Config for the Robots file:\n\n```json\n// required file name: data.robots.json\n{\n  \"data\": []\n}\n```\n\nInside the data array, each object follows the interface formats:\n\n```ts\nexport interface DataFile {\n  data: Line[];\n}\nexport interface Line {\n  type: LineType;\n  content: string;\n}\nexport enum LineType {\n  allow = 'allow',\n  blank = 'blank',\n  comment = 'comment',\n  crawlDelay = 'crawl-delay',\n  disallow = 'disallow',\n  sitemap = 'sitemap',\n  userAgent = 'user-agent',\n  other = 'other'\n}\n```\n\nThis translates into the following examples for each `LineType`. Currently, the `other` type doesn't output any results. If you have a need to capture other directives that haven't been included, please submit a bug so that we can review and research it.\n\n```json\n{\n  \"data\": [\n    {\n      \"type\": \"allow\",\n      \"content\": \"/wp-admin/admin-ajax.php\"\n    },\n    {\n      \"type\": \"blank\",\n      \"content\": \"\"\n    },\n    {\n      \"type\": \"comment\",\n      \"content\": \"sitemaps section\"\n    },\n    {\n      \"type\": \"crawl-delay\",\n      \"content\": \"10\"\n    },\n    {\n      \"type\": \"disallow\",\n      \"content\": \"/wp-admin/\"\n    },\n    {\n      \"type\": \"sitemap\",\n      \"content\": \"https://carbondigital.us/sitemaps/post-sitemap1.xml\"\n    },\n    {\n      \"type\": \"user-agent\",\n      \"content\": \"SemrushBot\"\n    },\n    {\n      \"type\": \"other\",\n      \"content\": \"\"\n    }\n  ]\n}\n```\n\nConsole.Log your robots.txt file:\n\n```js\nimport { robotsParser } from '@carbondigital/robots-parser';\nrobotsParser('console', './my-robots-file.txt');\n```\n\nLogged Output:\n\n```\nSitemap: https://carbondigital.us/sitemaps/post-sitemap1.xml\nSitemap: https://carbondigital.us/sitemaps/page-sitemap1.xml\nSitemap: https://carbondigital.us/sitemaps/projects-sitemap1.xml\nSitemap: https://carbondigital.us/sitemaps/services-sitemap1.xml\nSitemap: https://carbondigital.us/sitemaps/locations-sitemap1.xml\nSitemap: https://carbondigital.us/sitemaps/category-sitemap1.xml\n\nUser-agent: SemrushBot\n    Disallow: /\nUser-agent: SemrushBot-SA\n    Disallow: /\nUser-agent: MJ12bot\n    Disallow: /\nUser-agent: Mediapartners-Google\n    Disallow:\nUser-agent: Googlebot-Image\n    Disallow:\nUser-agent: *\n    Disallow: /wp-admin/\n    Allow: /wp-admin/admin-ajax.php\n```\n\n<!--\n_For more examples, please refer to the [Documentation](https://example.com)_\n-->\n\n<p align=\"right\">(<a href=\"#top\">back to top</a>)</p>\n\n<!-- ROADMAP -->\n\n## Roadmap\n\nWe've got a simple setup on Canny. You can submit either a Github issue, or a Canny feature request for the SEM Links tool.\n\n- [Feature Requests in Canny](https://semlinks.canny.io/semlinks)\n\n<p align=\"right\">(<a href=\"#top\">back to top</a>)</p>\n\n<!-- CONTRIBUTING -->\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again! See contributing.md for more details.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n<p align=\"right\">(<a href=\"#top\">back to top</a>)</p>\n\n<!-- ACKNOWLEDGMENTS -->\n\n## Acknowledgments\n\nWithout these people and tools, life would be too complicated.\n\n- Family and Friends.\n- Ramen, Rice, Cheeseburgers and Pizza.\n- [Carbon Digital](https://carbondigital.us)\n- [Font Awesome](https://fontawesome.com)\n- [VS Code](https://code.visualstudio.com/)\n\n<p align=\"right\">(<a href=\"#top\">back to top</a>)</p>\n\n<!-- MARKDOWN LINKS & IMAGES -->\n<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->\n\n[contributors-shield]: https://img.shields.io/github/contributors/carbondigitalus/sem-links.svg?style=for-the-badge\n[contributors-url]: https://github.com/carbondigitalus/sem-links/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/carbondigitalus/sem-links.svg?style=for-the-badge\n[forks-url]: https://github.com/carbondigitalus/sem-links/network/members\n[stars-shield]: https://img.shields.io/github/stars/carbondigitalus/sem-links.svg?style=for-the-badge\n[stars-url]: https://github.com/carbondigitalus/sem-links/stargazers\n[issues-shield]: https://img.shields.io/github/issues/carbondigitalus/sem-links.svg?style=for-the-badge\n[issues-url]: https://github.com/carbondigitalus/sem-links/issues\n[license-shield]: https://img.shields.io/github/license/carbondigitalus/sem-links.svg?style=for-the-badge\n[license-url]: https://github.com/carbondigitalus/sem-links/blob/master/license.md\n[canny-url]: https://semlinks.canny.io/semlinks\n","readmeFilename":"readme.md"}