{"_id":"@alexbolt/pug-to-html-cli","_rev":"3-7517b5325248caaf2604cd649cd55a05","name":"@alexbolt/pug-to-html-cli","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@alexbolt/pug-to-html-cli","version":"1.0.0","keywords":["pug","vue","html","template","converter"],"author":{"name":"Alex Bolt"},"license":"MIT","_id":"@alexbolt/pug-to-html-cli@1.0.0","maintainers":[{"name":"alexbolt","email":"boltenkovs36@gmail.com"}],"homepage":"https://github.com/OscarRaizer/pug-to-html","bugs":{"url":"https://github.com/OscarRaizer/pug-to-html/issues"},"bin":{"pug-to-html":"bin/pug-to-html"},"dist":{"shasum":"da556f2c249a0947b1803232a3d3177ec02012fc","tarball":"https://registry.npmjs.org/@alexbolt/pug-to-html-cli/-/pug-to-html-cli-1.0.0.tgz","fileCount":11,"integrity":"sha512-nbE0CHuUXr1qcFKtLm3x8ToaQ+SztbmI+9h9yv0yhpp9bAMagOmHdBIpWUXWoanqfekFqGpU/xCSZzi+sjg4WA==","signatures":[{"sig":"MEYCIQC7m5mYEcYidHQenfBMGauqWHoOxsDS0PZ4UvzOsEgnwwIhAPRrtPuPO13nu4aUdGBRh9lnrO1+MjFwT/OYTK9Zkvej","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18887},"main":"src/index.js","type":"module","gitHead":"8d3b1b44500aa46e0c58120630ec44bba67f6e73","scripts":{"lint":"eslint -c ./eslint.config.mjs \"./src*/**/*.{js,cjs,mjs,vue}\" --ignore-pattern \"bin/**\"","format":"prettier --write --cache .","format-check":"prettier --check --cache ."},"_npmUser":{"name":"alexbolt","email":"boltenkovs36@gmail.com"},"repository":{"url":"git+https://github.com/OscarRaizer/pug-to-html.git","type":"git"},"sourceType":"module","_npmVersion":"11.8.0","description":"A Node.js tool for automatically converting Pug templates in Vue Single File Components to HTML.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pug":"^2.0.4","chalk":"^5.3.0","pug-walk":"^1.1.8","commander":"^14.0.2","fast-glob":"^3.3.3"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5","eslint":"9.39.2","prettier":"3.7.4","eslint-plugin-vue":"^10.7.0","vue-eslint-parser":"^10.2.0","@prettier/plugin-pug":"^3.4.2","eslint-plugin-import":"2.32.0","eslint-plugin-promise":"7.2.1","eslint-plugin-unicorn":"62.0.0","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4"},"_npmOperationalInternal":{"tmp":"tmp/pug-to-html-cli_1.0.0_1772896635279_0.2800803364975426","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alexbolt/pug-to-html-cli","version":"1.0.1","keywords":["pug","vue","vue-sfc","html","converter","cli","pug-to-html","vue-template","vue-cli"],"author":{"name":"Alex Bolt"},"license":"MIT","_id":"@alexbolt/pug-to-html-cli@1.0.1","maintainers":[{"name":"alexbolt","email":"boltenkovs36@gmail.com"}],"homepage":"https://github.com/OscarRaizer/pug-to-html","bugs":{"url":"https://github.com/OscarRaizer/pug-to-html/issues"},"bin":{"pug-to-html":"bin/pug-to-html"},"dist":{"shasum":"1593c6e214425d4ec047d9b9809c7f3cf43b6f6c","tarball":"https://registry.npmjs.org/@alexbolt/pug-to-html-cli/-/pug-to-html-cli-1.0.1.tgz","fileCount":11,"integrity":"sha512-bavRCHxMRqyppaSiDMQzLxrJNSJmotgPAqlFDGzNDe7F1o41EBnTioZtuJ6pjUGj15W5jLrV23ZjLpyQNMwpdg==","signatures":[{"sig":"MEQCIHMc4GCLMXMzq4M9yxAD5/b/+o/L1HbKpaZj9Evj08FHAiBsjmf8kyUBHRYJ5rX8tVflZF4wIuO2FLPDo6P0DunlwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18941},"main":"src/index.js","type":"module","gitHead":"780d12641d46dc4eee872564be2428629d4f1adf","scripts":{"lint":"eslint -c ./eslint.config.mjs \"./src*/**/*.{js,cjs,mjs,vue}\" --ignore-pattern \"bin/**\"","format":"prettier --write --cache .","format-check":"prettier --check --cache ."},"_npmUser":{"name":"alexbolt","email":"boltenkovs36@gmail.com"},"repository":{"url":"git+https://github.com/OscarRaizer/pug-to-html.git","type":"git"},"sourceType":"module","_npmVersion":"11.8.0","description":"A Node.js tool for automatically converting Pug templates in Vue Single File Components to HTML.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pug":"^2.0.4","chalk":"^5.3.0","pug-walk":"^1.1.8","commander":"^14.0.2","fast-glob":"^3.3.3"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5","eslint":"9.39.2","prettier":"3.7.4","eslint-plugin-vue":"^10.7.0","vue-eslint-parser":"^10.2.0","@prettier/plugin-pug":"^3.4.2","eslint-plugin-import":"2.32.0","eslint-plugin-promise":"7.2.1","eslint-plugin-unicorn":"62.0.0","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4"},"_npmOperationalInternal":{"tmp":"tmp/pug-to-html-cli_1.0.1_1772898336739_0.07389306335559387","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alexbolt/pug-to-html-cli","version":"1.0.2","description":"A Node.js tool for automatically converting Pug templates in Vue Single File Components to HTML.","keywords":["pug","vue","vue-sfc","html","converter","cli","pug-to-html","vue-template","vue-cli"],"homepage":"https://github.com/OscarRaizer/pug-to-html","bugs":{"url":"https://github.com/OscarRaizer/pug-to-html/issues"},"repository":{"type":"git","url":"git+https://github.com/OscarRaizer/pug-to-html.git"},"license":"MIT","author":{"name":"Alex Bolt"},"type":"module","main":"src/index.js","bin":{"pug-to-html":"bin/pug-to-html"},"scripts":{"lint":"eslint -c ./eslint.config.mjs \"./src*/**/*.{js,cjs,mjs,vue}\" --ignore-pattern \"bin/**\"","format":"prettier --write --cache .","format-check":"prettier --check --cache ."},"dependencies":{"chalk":"^5.3.0","commander":"^14.0.2","fast-glob":"^3.3.3","pug":"^2.0.4","pug-walk":"^1.1.8"},"devDependencies":{"@prettier/plugin-pug":"^3.4.2","eslint":"9.39.2","eslint-config-prettier":"10.1.8","eslint-plugin-import":"2.32.0","eslint-plugin-prettier":"5.5.4","eslint-plugin-promise":"7.2.1","eslint-plugin-unicorn":"62.0.0","eslint-plugin-vue":"^10.7.0","mocha":"^11.7.5","prettier":"3.7.4","vue-eslint-parser":"^10.2.0"},"sourceType":"module","gitHead":"5c2c8bf372b7a71f27152f2fa79c68b3109889f2","_id":"@alexbolt/pug-to-html-cli@1.0.2","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-KIwM1nseMxCXYKVnUXfW9n+0LBXZN8+TgWyLCk87L8WvkebOG9WlBo/86mxH96rd5ELu8msEaE7p38S0je2v+A==","shasum":"e122f4996901c7f0e9e554e40a94c13abfddece3","tarball":"https://registry.npmjs.org/@alexbolt/pug-to-html-cli/-/pug-to-html-cli-1.0.2.tgz","fileCount":11,"unpackedSize":18925,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDqlfc88Vc4UmfbG2BGtyCn3tOHrFfOiTCXPvtlVQlsbAIhAJWwJ+H8fG1MC56U99mlRM36/P3ZPjJ2gyGtKpzsFvrN"}]},"_npmUser":{"name":"alexbolt","email":"boltenkovs36@gmail.com"},"directories":{},"maintainers":[{"name":"alexbolt","email":"boltenkovs36@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pug-to-html-cli_1.0.2_1774115657386_0.4357825299442213"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-07T15:17:15.212Z","modified":"2026-03-21T17:54:17.799Z","1.0.0":"2026-03-07T15:17:15.432Z","1.0.1":"2026-03-07T15:45:36.879Z","1.0.2":"2026-03-21T17:54:17.675Z"},"bugs":{"url":"https://github.com/OscarRaizer/pug-to-html/issues"},"author":{"name":"Alex Bolt"},"license":"MIT","homepage":"https://github.com/OscarRaizer/pug-to-html","keywords":["pug","vue","vue-sfc","html","converter","cli","pug-to-html","vue-template","vue-cli"],"repository":{"type":"git","url":"git+https://github.com/OscarRaizer/pug-to-html.git"},"description":"A Node.js tool for automatically converting Pug templates in Vue Single File Components to HTML.","maintainers":[{"name":"alexbolt","email":"boltenkovs36@gmail.com"}],"readme":"# Pug to HTML Converter for Vue\n\n## Wiki\n\n[Open Migration Guide](https://github.com/OscarRaizer/pug-to-html/wiki)\n\n## Installation\n📦 NPM  \nhttps://www.npmjs.com/package/@alexbolt/pug-to-html-cli\n\n```bash\npnpm add -g @alexbolt/pug-to-html-cli\n```\n\n## Usage\n\n```bash\n# Convert all Vue files in current directory\npug-to-html\n\n# Convert specific directory\npug-to-html src/components\n\n# Convert specific file\npug-to-html src/components/component.vue\n\n# Convert with options\npug-to-html . --backup --dry-run --verbose\n\n# Show help\npug-to-html --help\n```\n\n## Features\n\n- 🚀 Fast recursive scanning for Vue files\n- 🔧 Preserves Vue attributes and directives\n- 📦 Creates backup files before conversion\n- ✅ Dry run mode to preview changes\n- 🎨 Preserves formatting and indentation\n- 📊 Detailed conversion statistics\n- 🚫 Intelligent ignore patterns\n\n## Vue Features Supported\n\n- `v-bind:` / `:` - Data bindings\n- `v-on:` / `@` - Event handlers\n- `v-slot:` / `#` - Slots\n- `v-if`, `v-else-if`, `v-else` - Conditional rendering\n- `v-for` - List rendering\n- `v-show`, `v-model` - Display and form bindings\n- All `v-*` directives and custom directives\n- Event modifiers (`@click.stop.prevent`)\n- Dynamic attributes (`:[key]=\"value\"`)\n- Interpolations `{{ }}`\n\n## Options\n\n| Option                       | Description                                         |\n| ---------------------------- | --------------------------------------------------- |\n| `-i, --ignore <patterns...>` | Ignore patterns (default: node_modules, .git, dist) |\n| `-d, --dry-run`              | Show what would be converted without making changes |\n| `-b, --backup`               | Create backup files before converting               |\n| `-o, --output <dir>`         | Output directory (default: overwrite files)         |\n| `-v, --verbose`              | Verbose output                                      |\n| `-p, --pretty`               | Format HTML output with indentation                 |\n| `--no-recursive`             | Disable recursive search                            |\n\n## Example\n\nBefore conversion:\n\n```vue\n<template lang=\"pug\">\n.container\n  h1 {{ title }}\n  button(@click=\"increment\") Click me\n  div(v-if=\"showContent\", :class=\"{ active: isActive }\") Content\n</template>\n```\n\nAfter conversion:\n\n```vue\n<template>\n  <div class=\"container\">\n    <h1>{{ title }}</h1>\n    <button @click=\"increment\">Click me</button>\n    <div v-if=\"showContent\" :class=\"{ active: isActive }\">Content</div>\n  </div>\n</template>\n```\n\n## Architecture\n\n```\nsrc/\n├── index.js                    # CLI interface\n├── scanner.js                  # File scanning logic\n├── converters/\n│   ├── vue-converter.js        # Main conversion logic\n│   └── pug-processor.js        # Pug compilation\n├── utils/\n│   ├── vue-parser.js          # Vue SFC parsing\n│   └── file-utils.js          # File operations\n└── plugins/\n    └── vue-attributes-plugin.js # Pug plugin for Vue attributes\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}