{"_id":"rolldown-plugin-solid","_rev":"4-fdbb18589f130d1b58c7442b9ba3035b","name":"rolldown-plugin-solid","dist-tags":{"latest":"0.2.1"},"versions":{"0.2.0":{"name":"rolldown-plugin-solid","version":"0.2.0","keywords":["rolldown","plugin","solid","solidjs","jsx","tsx","babel","bundler","compiler"],"author":{"name":"g-mero"},"license":"MIT","_id":"rolldown-plugin-solid@0.2.0","maintainers":[{"name":"g-mero","email":"gmero@foxmail.com"}],"homepage":"https://github.com/g-mero/rolldown-plugin-solid#readme","bugs":{"url":"https://github.com/g-mero/rolldown-plugin-solid/issues"},"dist":{"shasum":"3a4b96b0ba4a3a9032d0d1d6be6e53d05c21c9b0","tarball":"https://registry.npmjs.org/rolldown-plugin-solid/-/rolldown-plugin-solid-0.2.0.tgz","fileCount":6,"integrity":"sha512-jh6YuWQKGi/sZumV7kvWBd4GzQw9g9USvkTLGFnWcxBIAjnbAbSRmU0lpGOl9Xmo3igOAOYIWsZ+/8zvMUtTwQ==","signatures":[{"sig":"MEUCIFEwImbCf087nam8DfNkDRe+WAeyMQqUmCuD4MeVCEi8AiEAx7gw+zh0lTApUZVgKt509IqLg67yxnC8SvQ0U+Xw/Hc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13175},"main":"./dist/index.js","type":"module","_from":"file:rolldown-plugin-solid-0.2.0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"npx ultracite lint","test":"jiti ./scripts/test.ts && serve tests","build":"tsdown","release":"bumpp","lint:fix":"npx ultracite format","test:types":"tsc --noEmit"},"_npmUser":{"name":"g-mero","email":"gmero@foxmail.com"},"_resolved":"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\e0d573e73d31fa39ac739dcf37992ff7\\rolldown-plugin-solid-0.2.0.tgz","_integrity":"sha512-jh6YuWQKGi/sZumV7kvWBd4GzQw9g9USvkTLGFnWcxBIAjnbAbSRmU0lpGOl9Xmo3igOAOYIWsZ+/8zvMUtTwQ==","repository":{"url":"git+https://github.com/g-mero/rolldown-plugin-solid.git","type":"git"},"_npmVersion":"10.9.2","description":"A Rolldown plugin for compiling SolidJS JSX/TSX files using Babel presets","directories":{},"_nodeVersion":"22.17.1","dependencies":{"@babel/core":"^7.28.0","babel-preset-solid":"^1.9.8","@babel/preset-typescript":"^7.27.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.5.1","bumpp":"^10.2.2","husky":"^9.1.7","serve":"^14.2.4","tsdown":"^0.13.4","solid-js":"^1.9.8","ultracite":"5.1.2","@types/node":"^24.2.1","@biomejs/biome":"2.1.2","@types/babel__core":"^7.20.5"},"peerDependencies":{"rolldown":">=0.15.0","solid-js":">=1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/rolldown-plugin-solid_0.2.0_1754774119723_0.5567267212312708","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"rolldown-plugin-solid","version":"0.2.1","description":"A Rolldown plugin for compiling SolidJS JSX/TSX files using Babel presets","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"keywords":["rolldown","plugin","solid","solidjs","jsx","tsx","babel","bundler","compiler"],"author":{"name":"g-mero"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/g-mero/rolldown-plugin-solid.git"},"bugs":{"url":"https://github.com/g-mero/rolldown-plugin-solid/issues"},"homepage":"https://github.com/g-mero/rolldown-plugin-solid#readme","engines":{"node":">=18.0.0"},"peerDependencies":{"rolldown":">=0.15.0","solid-js":">=1.8.0"},"devDependencies":{"@biomejs/biome":"2.1.2","@types/babel__core":"^7.20.5","@types/node":"^24.2.1","bumpp":"^10.2.2","husky":"^9.1.7","jiti":"^2.5.1","serve":"^14.2.4","solid-js":"^1.9.8","tsdown":"^0.13.4","ultracite":"5.1.2"},"dependencies":{"@babel/core":"^7.28.0","@babel/preset-typescript":"^7.27.1","babel-preset-solid":"^1.9.8"},"scripts":{"build":"tsdown","dev":"tsdown --watch","lint":"npx ultracite lint","lint:fix":"npx ultracite format","test":"jiti ./scripts/test.ts && serve tests","test:types":"tsc --noEmit","release":"bumpp"},"_id":"rolldown-plugin-solid@0.2.1","_integrity":"sha512-vRMsRf4psuWEXZbx+pwp1UYg0YrC9PWPrjGXwFLkVZPtH08sFSMhZpLwMUaLcKoqUvoWlvCPhbFDeSks7os6qQ==","_resolved":"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\7acce3ec9548b464474de5806a003eab\\rolldown-plugin-solid-0.2.1.tgz","_from":"file:rolldown-plugin-solid-0.2.1.tgz","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-vRMsRf4psuWEXZbx+pwp1UYg0YrC9PWPrjGXwFLkVZPtH08sFSMhZpLwMUaLcKoqUvoWlvCPhbFDeSks7os6qQ==","shasum":"a5d9699436d3f943e7fc00f204c6d4d781967469","tarball":"https://registry.npmjs.org/rolldown-plugin-solid/-/rolldown-plugin-solid-0.2.1.tgz","fileCount":6,"unpackedSize":13163,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDibng2QRgImjBx7anIYB9v3815h5a3Cw178zvdpibt5AIgEmduM3uLLe1g6Ud/OazKxR7vozMLx58k6mrdNqlaDTQ="}]},"_npmUser":{"name":"g-mero","email":"gmero@foxmail.com"},"directories":{},"maintainers":[{"name":"g-mero","email":"gmero@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rolldown-plugin-solid_0.2.1_1754774853399_0.5856452597096193"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-09T21:15:19.722Z","modified":"2025-08-09T21:27:33.769Z","0.1.0":"2025-08-08T20:42:54.125Z","0.2.0":"2025-08-09T21:15:19.892Z","0.2.1":"2025-08-09T21:27:33.599Z"},"bugs":{"url":"https://github.com/g-mero/rolldown-plugin-solid/issues"},"author":{"name":"g-mero"},"license":"MIT","homepage":"https://github.com/g-mero/rolldown-plugin-solid#readme","keywords":["rolldown","plugin","solid","solidjs","jsx","tsx","babel","bundler","compiler"],"repository":{"type":"git","url":"git+https://github.com/g-mero/rolldown-plugin-solid.git"},"description":"A Rolldown plugin for compiling SolidJS JSX/TSX files using Babel presets","maintainers":[{"name":"g-mero","email":"gmero@foxmail.com"}],"readme":"# rolldown-plugin-solid\r\n\r\n[![npm version](https://img.shields.io/npm/v/rolldown-plugin-solid)](https://www.npmjs.com/package/rolldown-plugin-solid)\r\n[![license](https://img.shields.io/npm/l/rolldown-plugin-solid)](https://github.com/g-mero/rolldown-plugin-solid/blob/main/LICENSE)\r\n\r\nA Rolldown plugin for compiling SolidJS JSX/TSX files using Babel presets. Basically is a migration from [esbuild-plugin-solid](https://github.com/amoutonbrady/esbuild-plugin-solid).\r\n\r\n## Installation\r\n\r\n```bash\r\n# Using pnpm (recommended)\r\npnpm add -D rolldown-plugin-solid\r\n\r\n# Using npm\r\nnpm install --save-dev rolldown-plugin-solid\r\n\r\n# Using yarn\r\nyarn add --dev rolldown-plugin-solid\r\n```\r\n\r\n## Usage\r\n\r\n### Basic Setup\r\n\r\nCreate a `rolldown.config.js` file in your project root:\r\n\r\n```javascript\r\nimport { defineConfig } from 'rolldown';\r\nimport solid from 'rolldown-plugin-solid';\r\n\r\nexport default defineConfig({\r\n  input: 'src/index.tsx',\r\n  plugins: [\r\n    solid()\r\n  ],\r\n});\r\n```\r\n\r\n## Configuration Options\r\n\r\nThe plugin accepts an options object with the following properties:\r\n\r\n### Basic Options\r\n\r\n```typescript\r\ninterface Options {\r\n  /** TypeScript preset options */\r\n  typescript?: object;\r\n  \r\n  /** Babel transform options */\r\n  babel?: TransformOptions | ((source: string, id: string, ssr: boolean) => TransformOptions);\r\n  \r\n  /** Solid-specific options */\r\n  solid?: SolidOptions;\r\n}\r\n```\r\n\r\n### Solid Options\r\n\r\n```typescript\r\ninterface SolidOptions {\r\n  /** Runtime module name @default \"solid-js/web\" */\r\n  moduleName?: string;\r\n  \r\n  /** Output mode @default \"dom\" */\r\n  generate?: 'ssr' | 'dom' | 'universal';\r\n  \r\n  /** Enable hydration markers @default false */\r\n  hydratable?: boolean;\r\n  \r\n  /** Enable automatic event delegation @default true */\r\n  delegateEvents?: boolean;\r\n  \r\n  /** Enable smart conditional detection @default true */\r\n  wrapConditionals?: boolean;\r\n  \r\n  /** Set render context on Custom Elements @default true */\r\n  contextToCustomElements?: boolean;\r\n  \r\n  /** Built-in components to auto-import */\r\n  builtIns?: string[];\r\n}\r\n```\r\n\r\n### Basic SolidJS App\r\n\r\n```typescript\r\n// src/App.tsx\r\nimport { createSignal } from 'solid-js';\r\n\r\nexport default function App() {\r\n  const [count, setCount] = createSignal(0);\r\n  \r\n  return (\r\n    <div>\r\n      <h1>Count: {count()}</h1>\r\n      <button onClick={() => setCount(count() + 1)}>\r\n        Increment\r\n      </button>\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n### SSR Configuration\r\n\r\n```javascript\r\n// rolldown.config.js\r\nimport { defineConfig } from 'rolldown';\r\nimport solid from 'rolldown-plugin-solid';\r\n\r\nexport default defineConfig({\r\n  input: 'src/server.tsx',\r\n  plugins: [\r\n    solid({\r\n      solid: {\r\n        generate: 'ssr',\r\n        hydratable: true\r\n      }\r\n    })\r\n  ],\r\n});\r\n```\r\n\r\n### Advanced Configuration\r\n\r\n```javascript\r\n// rolldown.config.js\r\nimport { defineConfig } from 'rolldown';\r\nimport solid from 'rolldown-plugin-solid';\r\n\r\nexport default defineConfig({\r\n  input: 'src/index.tsx',\r\n  plugins: [\r\n    solid({\r\n      // TypeScript options\r\n      typescript: {\r\n        onlyRemoveTypeImports: true\r\n      },\r\n      \r\n      // Solid options\r\n      solid: {\r\n        moduleName: 'solid-js/web',\r\n        generate: 'dom',\r\n        hydratable: false,\r\n        delegateEvents: true,\r\n        wrapConditionals: true,\r\n        contextToCustomElements: true,\r\n        builtIns: [\r\n          'For', 'Show', 'Switch', 'Match',\r\n          'Suspense', 'SuspenseList', 'Portal',\r\n          'Index', 'Dynamic', 'ErrorBoundary'\r\n        ]\r\n      },\r\n      \r\n      // Custom Babel configuration\r\n      babel: {\r\n        plugins: [\r\n          // Add any additional Babel plugins\r\n        ]\r\n      }\r\n    })\r\n  ],\r\n});\r\n```\r\n\r\n### Universal/Isomorphic Setup\r\n\r\n```javascript\r\n// rolldown.config.js\r\nimport { defineConfig } from 'rolldown';\r\nimport solid from 'rolldown-plugin-solid';\r\n\r\nexport default defineConfig({\r\n  input: 'src/index.tsx',\r\n  plugins: [\r\n    solid({\r\n      solid: {\r\n        generate: 'universal',\r\n        moduleName: 'solid-js/universal'\r\n      }\r\n    })\r\n  ],\r\n});\r\n```\r\n\r\n## Development\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/g-mero/rolldown-plugin-solid.git\r\ncd rolldown-plugin-solid\r\n\r\n# Install dependencies\r\npnpm install\r\n\r\n# Build the plugin\r\npnpm build\r\n\r\n# Run tests\r\npnpm test\r\n\r\n# Run linting\r\npnpm lint\r\n```\r\n\r\n## License\r\n\r\nMIT © [g-mero](https://github.com/g-mero)\r\n\r\n## Related Projects\r\n\r\n- [Rolldown](https://github.com/rolldown/rolldown) - Fast Rust-based bundler\r\n- [SolidJS](https://github.com/solidjs/solid) - Simple and performant reactivity\r\n- [babel-preset-solid](https://github.com/solidjs/solid/tree/main/packages/babel-preset-solid) - Babel preset for Solid\r\n\r\n","readmeFilename":"README.md"}