{"_id":"@audinue/unplugin-jsx-string","name":"@audinue/unplugin-jsx-string","dist-tags":{"latest":"0.7.3"},"versions":{"0.7.3":{"name":"@audinue/unplugin-jsx-string","version":"0.7.3","description":"Converts JSX to HTML strings at compile time.","keywords":["unplugin","jsx","tsx","string","html","convert","react"],"license":"MIT","homepage":"https://github.com/unplugin/unplugin-jsx-string#readme","bugs":{"url":"https://github.com/unplugin/unplugin-jsx-string/issues"},"repository":{"type":"git","url":"git+https://github.com/unplugin/unplugin-jsx-string.git"},"author":{"name":"三咲智子","email":"sxzz@sxzz.moe"},"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":{"require":"./dist/index.d.ts","import":"./dist/index.d.mts"},"require":"./dist/index.js","import":"./dist/index.mjs"},"./vite":{"types":{"require":"./dist/vite.d.ts","import":"./dist/vite.d.mts"},"require":"./dist/vite.js","import":"./dist/vite.mjs"},"./webpack":{"types":{"require":"./dist/webpack.d.ts","import":"./dist/webpack.d.mts"},"require":"./dist/webpack.js","import":"./dist/webpack.mjs"},"./rollup":{"types":{"require":"./dist/rollup.d.ts","import":"./dist/rollup.d.mts"},"require":"./dist/rollup.js","import":"./dist/rollup.mjs"},"./esbuild":{"types":{"require":"./dist/esbuild.d.ts","import":"./dist/esbuild.d.mts"},"require":"./dist/esbuild.js","import":"./dist/esbuild.mjs"},"./api":{"types":{"require":"./dist/api.d.ts","import":"./dist/api.d.mts"},"require":"./dist/api.js","import":"./dist/api.mjs"},"./*":"./*"},"typesVersions":{"*":{"*":["./dist/*","./*"]}},"publishConfig":{"access":"public"},"dependencies":{"@babel/parser":"^7.23.3","@babel/types":"^7.23.3","@rollup/pluginutils":"^5.0.5","entities":"^4.5.0","estree-walker":"^3.0.3","jsesc":"^3.0.2","magic-string":"^0.30.5","unplugin":"^1.5.1"},"devDependencies":{"@sxzz/eslint-config":"^3.7.4","@sxzz/prettier-config":"^2.0.0","@types/benchmark":"^2.1.5","@types/jsesc":"^3.0.3","@types/node":"^20.9.2","@types/react":"^18.2.37","benchmark":"^2.1.4","bumpp":"^9.2.0","eslint":"^8.54.0","fast-glob":"^3.3.2","prettier":"^3.1.0","tsup":"^8.0.1","tsx":"^4.1.4","typescript":"^5.2.2","vite":"^5.0.4","vitest":"^1.0.4"},"engines":{"node":">=16.14.0"},"prettier":"@sxzz/prettier-config","scripts":{"lint":"eslint --cache .","lint:fix":"pnpm run lint --fix","build":"tsup","dev":"pnpm run -C playground dev","test":"vitest","release":"bumpp && pnpm publish","benchmark":"node benchmark/index.mjs"},"_id":"@audinue/unplugin-jsx-string@0.7.3","_integrity":"sha512-bAKMHCHrt/qFktgsMLu4O1UQXXu8Il+AU+uSy3ZFqveC0R/5qJfKYF1+cO5uGytHuOLvwMdryaI7M6V/25osAw==","_resolved":"/tmp/d23b810c2a9eb44c752967f4d81132b7/audinue-unplugin-jsx-string-0.7.3.tgz","_from":"file:audinue-unplugin-jsx-string-0.7.3.tgz","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-bAKMHCHrt/qFktgsMLu4O1UQXXu8Il+AU+uSy3ZFqveC0R/5qJfKYF1+cO5uGytHuOLvwMdryaI7M6V/25osAw==","shasum":"9f61ddccc11dbb26ebbb518de4ed660088af69e4","tarball":"https://registry.npmjs.org/@audinue/unplugin-jsx-string/-/unplugin-jsx-string-0.7.3.tgz","fileCount":33,"unpackedSize":39137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFujRPPVIxnRIDNY5p4QVWD+KCM+f8PwMgIEk2tJLot3AiArdx0azKyvfSpvWGDXLAYUF+zeUXM+YYsUnZTvvViRSg=="}]},"_npmUser":{"name":"audinue","email":"audinue@gmail.com"},"directories":{},"maintainers":[{"name":"audinue","email":"audinue@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unplugin-jsx-string_0.7.3_1718491922036_0.6640529832162008"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-15T22:52:01.748Z","0.7.3":"2024-06-15T22:52:02.237Z","modified":"2024-06-15T22:52:02.801Z"},"maintainers":[{"name":"audinue","email":"audinue@gmail.com"}],"description":"Converts JSX to HTML strings at compile time.","homepage":"https://github.com/unplugin/unplugin-jsx-string#readme","keywords":["unplugin","jsx","tsx","string","html","convert","react"],"repository":{"type":"git","url":"git+https://github.com/unplugin/unplugin-jsx-string.git"},"author":{"name":"三咲智子","email":"sxzz@sxzz.moe"},"bugs":{"url":"https://github.com/unplugin/unplugin-jsx-string/issues"},"license":"MIT","readme":"# unplugin-jsx-string [![npm](https://img.shields.io/npm/v/unplugin-jsx-string.svg)](https://npmjs.com/package/unplugin-jsx-string)\n\n[![Unit Test](https://github.com/unplugin/unplugin-jsx-string/actions/workflows/unit-test.yml/badge.svg)](https://github.com/unplugin/unplugin-jsx-string/actions/workflows/unit-test.yml)\n\nConverts JSX to HTML strings at compile time.\n\n## Installation\n\n```bash\nnpm i unplugin-jsx-string\n```\n\n<details>\n<summary>Vite</summary><br>\n\n```ts\n// vite.config.ts\nimport JsxString from 'unplugin-jsx-string/vite'\n\nexport default defineConfig({\n  plugins: [JsxString()],\n})\n```\n\n<br></details>\n\n<details>\n<summary>Rollup</summary><br>\n\n```ts\n// rollup.config.js\nimport JsxString from 'unplugin-jsx-string/rollup'\n\nexport default {\n  plugins: [JsxString()],\n}\n```\n\n<br></details>\n\n<details>\n<summary>esbuild</summary><br>\n\n```ts\n// esbuild.config.js\nimport { build } from 'esbuild'\n\nbuild({\n  plugins: [require('unplugin-jsx-string/esbuild')()],\n})\n```\n\n<br></details>\n\n<details>\n<summary>Webpack</summary><br>\n\n```ts\n// webpack.config.js\nmodule.exports = {\n  /* ... */\n  plugins: [require('unplugin-jsx-string/webpack')()],\n}\n```\n\n<br></details>\n\n<details>\n<summary>Vue CLI</summary><br>\n\n```ts\n// vue.config.js\nmodule.exports = {\n  configureWebpack: {\n    plugins: [require('unplugin-jsx-string/webpack')()],\n  },\n}\n```\n\n<br></details>\n\n#### TypeScript Support\n\n```jsonc\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    // ...\n    \"types\": [\"unplugin-jsx-string\" /* ... */]\n  }\n}\n```\n\n## Usage\n\n```tsx\n// basic usage\njsxToString(<div>Hello</div>)\n// \"<div>Hello</div>\"\n\n// class list\njsxToString(<div className={['bar', 'foo']} />)\n// `<div class=\"bar foo\"/>`\n\n// styles\njsxToString(<div style={{ color: 'red', textAlign: 'center' }} />)\n// `<div style=\"color:red;text-align:center\"/>`\n\n// events\njsxToString(<button onClick={() => 'clicked'}></button>)\n// \"<button onclick=\"&apos;clicked&apos;\"></button>\"\n\n// children\njsxToString(\n  <div>\n    <p>foo</p>\n    <p>bar</p>\n    <br />\n    <div />\n    123\n  </div>\n)\n// \"<div><p>foo</p><p>bar</p><br/><div/>123</div>\"\n```\n\n## Benchmark\n\n```\n<div>Hello World</div> x 89,429 ops/sec ±0.88% (95 runs sampled)\n<div><img src={'foo'} /><div></div></div> x 62,522 ops/sec ±0.62% (93 runs sampled)\n```\n\n<small>\nTested on Apple M1 Max / 32GB\n\n_More samples are welcome._\n</small>\n\n## Sponsors\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/sxzz/sponsors/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/sxzz/sponsors/sponsors.svg'/>\n  </a>\n</p>\n\n## License\n\n[MIT](./LICENSE) License © 2022-PRESENT [三咲智子](https://github.com/sxzz)\n","readmeFilename":"README.md"}