{"_id":"@arclux/prism","_rev":"33-3823fbefd02cb4814310d6ece71c7ed9","name":"@arclux/prism","dist-tags":{"beta":"3.0.0-beta.1","latest":"3.2.0"},"versions":{"1.0.0":{"name":"@arclux/prism","version":"1.0.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.0.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclux/prism#readme","bugs":{"url":"https://github.com/arclux/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"f24c5c33ca3f651cfa87309ce221e297332c2211","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.0.0.tgz","fileCount":18,"integrity":"sha512-ahRxwS6HgALYGyjhc7JgkXhev3bo9Vsde8V+xGSzmXGw0WcJzB7jquAFPEktyVpcpCSVrHmu/ukG+EUt/4tMMw==","signatures":[{"sig":"MEQCIFCjazuSf4WkOP9gZlWhjDaHX2B64Zxh3zq1cx7MrCpYAiBUJG1Q15nyF3y5BethVDYA0EhDkaFPj9nqrtRHk7VAMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100237},"type":"module","engines":{"node":">=18"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"e4f470ee4c262cf2028231ff3105bb04319680b4","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arclight-dev","email":"hello@arclight.build"},"repository":{"url":"git+https://github.com/arclux/prism.git","type":"git"},"_npmVersion":"11.8.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.1","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.0.0_1771000214228_0.8728801463602611","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arclux/prism","version":"1.0.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.0.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"eac8f2ccc00ee223330759d073500304254c9f14","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.0.1.tgz","fileCount":18,"integrity":"sha512-cprWFK0VOigkDD7ckD0imoMZ+MFs44GWghQauyz7oJWSiU63xbxQPr38g4f8x6/lRCWsfPiogmFYLet2iypD7Q==","signatures":[{"sig":"MEQCIHVEy71xPZEUYXEw7AssjryDMPUO1IPoVikDZcPNTXxKAiAEnKbebjcazQRdjc5HfGNC8kOq+tDLnR7Y534JLIFW0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100287},"type":"module","engines":{"node":">=22"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"6f7d5cd8ef3c5402de4f6f3a1a10b32ba3605e5a","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.6.2","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.0","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.0.1_1771002265874_0.703861172184991","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arclux/prism","version":"1.1.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.1.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"9af860aed1acfc217074d1b0d030471fcb6b45b8","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.1.0.tgz","fileCount":18,"integrity":"sha512-mHjAEynr32kf73I0rHbofzV7c6bhZ0GIC2G5Mm4HWs1RuCipDGxyv2uUwVw1vUMwt6MyPturgQ40AE1knx45LA==","signatures":[{"sig":"MEYCIQDU7coVT/SEI+enjTkGShGGa1xv5YFG6akJ/S8D+bGuAAIhAJ0mbVQzl7r8pntcOjiwkdUbaconxqeTmUziEp7xYkNU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101685},"type":"module","_from":"file:arclux-prism-1.1.0.tgz","engines":{"node":">=22"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arclight-dev","email":"hello@arclight.build"},"_resolved":"/private/var/folders/s0/68dg4xmd0sj0tv31pj6847480000gn/T/067a12d1631f3dcd67f507f9537aa513/arclux-prism-1.1.0.tgz","_integrity":"sha512-mHjAEynr32kf73I0rHbofzV7c6bhZ0GIC2G5Mm4HWs1RuCipDGxyv2uUwVw1vUMwt6MyPturgQ40AE1knx45LA==","repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.8.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.1","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.1.0_1771048138199_0.8479334959572027","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@arclux/prism","version":"1.2.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.2.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"8e080a86ad1bbb7a6e96ab313e6549cbc8c3cd43","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.2.0.tgz","fileCount":18,"integrity":"sha512-jvfKlNirNnQ62ocKUYbyqpR6SezYTNfMq8ey5XMei1CPFN/11hYBGeOJeV9Rxl6nCynM4p9gIxDAe/POGTAecA==","signatures":[{"sig":"MEYCIQDpVLh2tl6oCpjuGFJ1sUdPWBPU5mAbzU7yQdFIYPBltQIhANKRBIp+hODvCNXhO78NF/VK0WvOjtGN1EYdFZdTeuJ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101870},"type":"module","_from":"file:arclux-prism-1.2.0.tgz","engines":{"node":">=22"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arclight-dev","email":"hello@arclight.build"},"_resolved":"/private/var/folders/s0/68dg4xmd0sj0tv31pj6847480000gn/T/2d9432a769a22016f6101d5a515674d2/arclux-prism-1.2.0.tgz","_integrity":"sha512-jvfKlNirNnQ62ocKUYbyqpR6SezYTNfMq8ey5XMei1CPFN/11hYBGeOJeV9Rxl6nCynM4p9gIxDAe/POGTAecA==","repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.8.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.1","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.2.0_1771090180971_0.17850144876450647","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@arclux/prism","version":"1.2.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.2.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"c91e6ae5c917b5f22c4fc29e70bdd9bc901129c5","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.2.1.tgz","fileCount":18,"integrity":"sha512-rR30nEeCJrXBMze+Bk8vXUcHk4wcK+vmd8vcbpmRvKl0XXOAqwiLp5BEtWjRi5exC9wb3iPF7GTYKGOxAezQnA==","signatures":[{"sig":"MEQCIGk9YroD4EbC3vL3p59kJf7n1Zz7NMXL4POaJUY2CG1RAiA7fQG9YRkNn3SphZKnN8gv7Dx8TVFcFO2WyDZ8BiYgNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102041},"type":"module","_from":"file:arclux-prism-1.2.1.tgz","engines":{"node":">=22"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arclight-dev","email":"hello@arclight.build"},"_resolved":"/private/var/folders/s0/68dg4xmd0sj0tv31pj6847480000gn/T/82623c6da893ab29ded506b29314df83/arclux-prism-1.2.1.tgz","_integrity":"sha512-rR30nEeCJrXBMze+Bk8vXUcHk4wcK+vmd8vcbpmRvKl0XXOAqwiLp5BEtWjRi5exC9wb3iPF7GTYKGOxAezQnA==","repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.8.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.1","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.2.1_1771091293874_0.9263807852892387","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@arclux/prism","version":"1.2.2","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.2.2","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"ea224f01c578bf08a4d592a04596ec9f4c63bb3e","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.2.2.tgz","fileCount":18,"integrity":"sha512-5KBghRxFlmSNN9d2jvC6EnHUvXXuSzzZZyidpiiF8BmhWN8uAMmNX+O9/ahgpKvISClJM8Gf9pWPgew9MOQs9g==","signatures":[{"sig":"MEUCIEN6vEk67enwQfswC6c/PyO3aa0AJzASgKYBPEYnpy8uAiEAiD5M8/5hPIbj1/3yNXpqm2NMEAoVf35xPR+NFGSJqJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102017},"type":"module","_from":"file:arclux-prism-1.2.2.tgz","engines":{"node":">=22"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arclight-dev","email":"hello@arclight.build"},"_resolved":"/private/var/folders/s0/68dg4xmd0sj0tv31pj6847480000gn/T/16f6e8d38d12405591f341bc878dbc20/arclux-prism-1.2.2.tgz","_integrity":"sha512-5KBghRxFlmSNN9d2jvC6EnHUvXXuSzzZZyidpiiF8BmhWN8uAMmNX+O9/ahgpKvISClJM8Gf9pWPgew9MOQs9g==","repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.8.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.1","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.2.2_1771096309103_0.8638551410068824","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@arclux/prism","version":"1.3.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.3.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"65a4066d1e18c5cb7ee10c39c213a91b638d3783","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.3.0.tgz","fileCount":18,"integrity":"sha512-c7sSh2gR8big+P+1GBz0mmB+lQFhjwgyoj3LDMlt77dMaxD15cPoq5BmSuRdowQ5LmJiaeAKeJdT4463n9FyaA==","signatures":[{"sig":"MEUCIEgxvigXMdN5VjDfA50hgsvSz20ETd2aAK0Gy8Y929Q6AiEAycyOdV65YStz1OfGIwsO5pN+uWiy9CwSpo5/m7A2pNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105760},"type":"module","_from":"file:arclux-prism-1.3.0.tgz","engines":{"node":">=22"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arclight-dev","email":"hello@arclight.build"},"_resolved":"/private/var/folders/s0/68dg4xmd0sj0tv31pj6847480000gn/T/fa51bd090d326771adef491a6753e342/arclux-prism-1.3.0.tgz","_integrity":"sha512-c7sSh2gR8big+P+1GBz0mmB+lQFhjwgyoj3LDMlt77dMaxD15cPoq5BmSuRdowQ5LmJiaeAKeJdT4463n9FyaA==","repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.13.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.1","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.3.0_1783968258524_0.12802632268195357","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@arclux/prism","version":"1.3.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@1.3.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"96741ad7acdfb407907c923fec7ee9956bc13339","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-1.3.1.tgz","fileCount":18,"integrity":"sha512-EsCunygxgjUTABBx7VZksieBG3VgllX2B3fj9Dvzu9DU7Dntj01ZjNL2UDBzT41981PJ3sX7onopOpmfbGwFZQ==","signatures":[{"sig":"MEQCIAQmb2IHZCohSL8ASbLdQMwooPKSrPBx82D2Wk1My1CGAiAGepYkUMCI5zNiD0lbnwE7ETqaoOrg4eakF4MeyRbb3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106120},"type":"module","_from":"file:arclux-prism-1.3.1.tgz","engines":{"node":">=22"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arclight-dev","email":"hello@arclight.build"},"_resolved":"/private/var/folders/s0/68dg4xmd0sj0tv31pj6847480000gn/T/9cf8fa0cfa125e3b8be44e99458662ef/arclux-prism-1.3.1.tgz","_integrity":"sha512-EsCunygxgjUTABBx7VZksieBG3VgllX2B3fj9Dvzu9DU7Dntj01ZjNL2UDBzT41981PJ3sX7onopOpmfbGwFZQ==","repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.13.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.13.1","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_1.3.1_1783973503237_0.907544387364273","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@arclux/prism","version":"2.0.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.0.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"5137b4e07b7a8d51cb55eeb19496f5f3d628471f","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.0.0.tgz","fileCount":18,"integrity":"sha512-g9AI3Q3IGU8+tRbXKhj5C0piVD/dH0mdaOg0GDeEKxqQUsfTN9KFljSI8k4dlSNSt16F1RH0PU70ZlbTwg4Exw==","signatures":[{"sig":"MEUCIQCTlug3MZ/pTq39HZyCwGfkIqiqElGWYyh7xgGu0wQMmgIgFTf/UyorzrI5cZGJE27waAmAMClwm7IAr+a4Q3216qw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121689},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"c1261872e00cb44673bd01cfb6b28f6d0b77e6d0","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.0.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.0.0_1784832556878_0.6739559560531663","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@arclux/prism","version":"2.0.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.0.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"ad489580227688a8872958f5f6b50686f0e81886","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.0.1.tgz","fileCount":18,"integrity":"sha512-QuHaz5lwGdTdye2GVrmw4N46H/jq3fZc0sleuhLbJlCj3V1b3PbKdJbMev698p/6/WFx2xzF0b2hva3TZDZN+A==","signatures":[{"sig":"MEQCIAwg87tYZ1XfZuJJpebkuVf4ZOzLciQzOUh3LRX+H91cAiASsuJHkpk9Anqe3MST/O4M4XG0pVGfYwcP2Jnxlab9NA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":123735},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"b12d692cf241a74feaf4c4c1b7b1ae40a720ddda","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.0.1_1784833145231_0.5037419662052596","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@arclux/prism","version":"2.0.2","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.0.2","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"e5ea2232a5e9cdcc60298983df02956be90f66e1","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.0.2.tgz","fileCount":19,"integrity":"sha512-iB1hYg8p6L9WtDd9TD6xwsf8EVngYORgRLXJjPsJpa6WWLtxzuEwNO2nQ2blGIZuF03Fhj7wX6zfbCbpg3r/1A==","signatures":[{"sig":"MEQCIHDDSxTZhYwPzLoH6T2HPeRnyKf5ePWotrtb6JpX8U+rAiAFf/OtdCTqkB4oYL4X82Q4YPYahwS11h7PaSxQIyRJsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":127025},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"2abc1ac1c8d1c37374df7d0b903a28a29ab6cb13","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.0.2_1784848014617_0.9043076598787856","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@arclux/prism","version":"2.0.3","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.0.3","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"d85ef66eda136d86dcf39c699bc9990f2ca5db34","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.0.3.tgz","fileCount":19,"integrity":"sha512-A8dtVutq2dkEV+XnSZqghyNh2bUEk6rvLI9AzUqyOqd8GtQJSHKpWdwnyhhxf0Eye+OAPx5iDQa9f0OGqJo+dQ==","signatures":[{"sig":"MEQCIAI6KkgL04u6QQG/STzbeZRaKKvjIphmfd8ZbWYLN+SdAiA1vIZbpov3rDQeYOiwBQ8mLhVWwRd8S/9T6VWMy67DTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128147},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"2b36383d4dd791f69145f38b9acd22ed3e38e5ba","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.0.3_1784850107105_0.5237540490725516","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@arclux/prism","version":"2.0.4","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.0.4","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"f27716c8f53865ec3a9c242a08dda932633dbc4a","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.0.4.tgz","fileCount":19,"integrity":"sha512-hQCs0mnsBauMKC0mUebFCPFZyN5VVmdHLaM2fx21781F512oBM3B3S9u8vL5IFLobdB0Xc2WR/E5TaOoxEea7w==","signatures":[{"sig":"MEQCIGt+oOvGLgsim6fS4QjPduZJ8e0Qk8VXhfiD4+LOlpLAAiBbq/dQK+Vu3XcbWtpDrolCbozdz2vaC/MGRC5qthRlUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":135180},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"a2b0b41cb5b922fdb38326e7bd43bcb1340d7d9d","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.0.4_1784851412204_0.47317521310726507","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@arclux/prism","version":"2.0.5","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.0.5","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"4f6ebd791676b00899a0bb0edba92725626988cc","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.0.5.tgz","fileCount":19,"integrity":"sha512-9uvvVqq0PIVA8HuxU2oYVtrJ52bwFqBRMbvUxUPvcCL2619YSGG5/K1aKaBbUaMB5oZ+SpgxHvwjxmgf2JSQWQ==","signatures":[{"sig":"MEYCIQD5jjb7OTEbcQO7eiHmILO7rcLapJT/TQy5PeDA6mntKwIhAP7VLGfwIVB/O7lUDgD9tiriS8TqgBIVz8JukVQ0bhUW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":136288},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"9172c4e86e25978a8e8c639f595913d602542f2e","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.0.5_1784852227043_0.6771754323502421","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@arclux/prism","version":"2.2.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.2.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"62541541c0a73627e4f8d3cec3fd12766a30bfc8","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.2.0.tgz","fileCount":21,"integrity":"sha512-3VjI1ChwHo+mmbD0hF+k0/l9A36Qe0U8IuMA51yY8FXQxGxxN1NC6OXTgUu7JPOuP3RBMExZqrIkbPmOW1b7MA==","signatures":[{"sig":"MEYCIQDh7/MpFgfHci/b/pWFyIFqe62tFijhDg0IdK9P0XPrcwIhALPSpNBXXzSCrF+Oj/0HqhZdTZ+b3tIczbYuwBM3A4lF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165061},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"8a5e2be8f3a35df0e2ec97c4f0dceed1093efefe","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.2.0_1785298408389_0.48411306612150606","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@arclux/prism","version":"2.2.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.2.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"67a61e29c03d9d7c5f415b9dbb77803a4f76470a","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.2.1.tgz","fileCount":21,"integrity":"sha512-/4PuZYYrCwbjyuFTwCJbYi3hcDdOCmQUTAv/lzllCH4XMeNLRj80diDVKVgBdS2bibXy2RisGjrka5fmApOP0A==","signatures":[{"sig":"MEYCIQDvjJIMGjSogQianqVzFje9sz6ObL71blMOL1wgwdsqUwIhAPiEkLnRHw1m14gRmhZNQP8fQdzFVhacqf+tU28tHqxm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176576},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"532c8359b98b7bfa7c81c429a39984cf4d0bd96c","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.2.1_1785299718089_0.7956948380812263","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@arclux/prism","version":"2.3.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.3.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"0e2127ebe89b872fc59488c77a481f458b374571","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.3.0.tgz","fileCount":22,"integrity":"sha512-ouK6ZQhqwDrvtEB3fed7SA0TvKfphmPYmB0g8jLPQ+2NQzOY9YGixbeOWW074HkeL87o2GM+o/Ohz9n4UxoFFg==","signatures":[{"sig":"MEYCIQD4qf1sSegVgHWq69mgArUvELVZeAy6aJm3xZGf/R/yLwIhAJAg1zCN5/r9SQPtFxAqRfXpmvC4LEo1LMeQXGo82ccl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200924},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"777ff888040067fc49ed556fe18ef925d038a28c","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.3.0_1785341654027_0.5668255356281551","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@arclux/prism","version":"2.4.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.4.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"db6595c9ed37a2e9c5978663d40f28ec0af34a8a","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.4.0.tgz","fileCount":23,"integrity":"sha512-1QhHg3mKh4291UfTQPTpfwD7coTeijLQMusc0LgPNxhcmPxl8yYiq6S5o2+je7ciL2cvSEOtXJ2Ze5hFc80FCQ==","signatures":[{"sig":"MEUCIQCNSbyeQOcR2Fso814n82ETmV46KiTodDNMd5BhyQGtYAIgHVgicJhGZ9iWlP2vNjxwD1syonhQeRHRA0WWfFirr0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211047},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"b0de6db9e98d91b754722500f5d72f9ef5f30884","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.4.0_1785347607575_0.6812753445424813","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@arclux/prism","version":"2.5.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.5.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"9f0afbb09ee1b2b8ef8097e5b9ad2603e994e661","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.5.0.tgz","fileCount":24,"integrity":"sha512-vWrR4tLLEvcZOToGesl9EiZ10A7h743s77ITF6eAeQbb9iiYGOeJx7gB3ezNNrszNwCX8Y/tASC0GVVPovUXcw==","signatures":[{"sig":"MEYCIQCy2Iw1W/MifVAaV6vaX22URJzgAkAmokJEyofnf80iMwIhAPf7RIjgHLUgMUoDkE9FlAITRemI6LpvUpd9ut5PgIJw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":238649},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"28fd670f2efe1a02fd7f4c206e1917020562e1a3","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.5.0_1785350123224_0.7689111730828566","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@arclux/prism","version":"2.6.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.6.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"160c6c68430229220f2ec1391d085fed0ddd86dd","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.6.0.tgz","fileCount":24,"integrity":"sha512-mfeWDf3rFrk6ln8BiFRsqU5Q7PJ5PQn1LJUB4Vp2lFxd7EvTTBoX6llvbYpfwYc8iWib0cg/qWcAvNNOPt/Ppg==","signatures":[{"sig":"MEQCICJKEa3/IJtgQVjL/XPxyA3DAbrgFuM+cUHjQNfF59gKAiBJ1LVwZ4+5MeM0sfuomahG7iQot6JslG3xlptcK3BwaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":253179},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"5a0dc95806b422c15ee963ceb71cf249c7775739","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.6.0_1785351169783_0.799424761421933","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@arclux/prism","version":"2.7.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.7.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"eca9985159461aa2c7dfa4357e6a94941e602a01","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.7.0.tgz","fileCount":24,"integrity":"sha512-aUntvJUJHvzJ0z+Sn7fQcMGTo+SKIjVfoeBI7vuCQCjX3oL50n5OdvVmWQaNyUSR1dTOmFUjA1A1JtzkY4TlDg==","signatures":[{"sig":"MEYCIQCR0+8gfuyYrBZHGbq7esm2Zwsk/OXTrktKmVE6Y/tzJQIhAKoD5NefRnG5GJZ2xexh2D0WmeNddgFDmYjkQE2N0Sy8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272272},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"47747d8ad8bf88183990fba07d19d18f45570b80","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.7.0_1785367067292_0.9532719408819317","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"@arclux/prism","version":"2.7.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.7.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"6ce7353a9f6b9592ad577a4eaba8ddb8062da9d3","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.7.1.tgz","fileCount":24,"integrity":"sha512-rXaTMlD2aCy7qCSikH9d660Gs4Me0Oa3sg6bqFICDPVcX07lFz/IQnfItSWIiL1yh+jKLvBiyad7Ez67HwZ+4w==","signatures":[{"sig":"MEQCIHPsdpGa0+4HoFIDOCU7Ullu7OPE4i43igWDqb/7ULCbAiBKHOvIKysuwUJtRTqfWL+lO4ZMFsB2LlVctshbDziXvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":276031},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"5ce5f3f652e246369d86cc66037782e230820492","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.7.1_1785371102142_0.35709505388839924","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@arclux/prism","version":"2.8.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.8.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"469a313d9fde5230e4311f9bca56a27771aa7a3c","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.8.0.tgz","fileCount":25,"integrity":"sha512-uibx1eItGTlb3fxPDgYls3MhnJ6Ko2llj3UtoF/QMM/UWENRtvWSUbt+zPSh091LKhzJbZtqfRPC39fHOQQViw==","signatures":[{"sig":"MEYCIQDoIoSLvrMIEgOaY75oXRqd+cEwgx8gwI14KV7ZBmegIwIhAJIldBuFdhGcbQtmUo8pA1USfV5IU8ZNZE+5RV+wLb0L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":291832},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"6bf02c8f38fc585335009662c9668ae0883a737b","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.8.0_1785371916534_0.6300035720908148","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@arclux/prism","version":"2.11.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.11.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"e070e8aa2dc3b6eee94106d1391441c27ac4b56e","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.11.0.tgz","fileCount":25,"integrity":"sha512-OzwGWTjHCzMorkoDdJXx9LJc1jEkDCCZBH3xF2bSdJdNqysh0Ewiy6Ww7NBUZTtQoKr03xGk7gnl2UBLL1YDjg==","signatures":[{"sig":"MEUCIBhHYapjEYmu9L2m5/uZiJW7n8zVhWAU70rESLN1zl/qAiEAu5N7AHXMXZKKcp8kZXTNyctedAuuRyamb0yFZhuGzW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":313893},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"bb539012465e5dac0c4e6d99b312cfb7a95f46d9","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.11.0_1785515879383_0.19308643045382667","host":"s3://npm-registry-packages-npm-production"}},"2.11.1":{"name":"@arclux/prism","version":"2.11.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.11.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"3624b2a979af738351bea9c2c572635d8a8965cd","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.11.1.tgz","fileCount":25,"integrity":"sha512-dBbtvJIvkBbZKx1axrXnRQ9GnwjYGEKSf7P0F0VTtSfVlgZGjmzGeiiHfor4FPuvVw/KTBcQJ8KCu9RiCNQZPQ==","signatures":[{"sig":"MEQCIChC/JOHqtQLRhTD81PYN15QxSzoDggB0z29zrWi4fW2AiATUWAidpTLiF90rJPATdkfhrKTCE4Wlp+9GjEhCmFJgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":316485},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"7d982d1770c93b271719d3b61ae846000abf54d8","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.11.1_1785520551473_0.8380582220096551","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@arclux/prism","version":"2.12.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.12.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"ce3071db321455963b2d6d193921a1f4c45629cc","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.12.0.tgz","fileCount":25,"integrity":"sha512-xg4EKrjfRFMDwmcmslatUca8XAfMVpiBMK6uwyCr/eHNclnNTdJ8nLEvkms7GSgqc19xGawtbHAeC+eew9Hr+w==","signatures":[{"sig":"MEUCIQDtE68c31fvZw66nwCiRNh3XahyeXA1d3zQoiItu4sRBAIgUtWgzIdXK9txMvbyAD2iixjhd1yHp+80LdPfP378Jig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":339991},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"9445ed943cc88a59a6e800dffad1e34d95ef9303","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.16.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.18.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.12.0_1785635623536_0.4628539708908106","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"@arclux/prism","version":"2.13.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.13.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"d5214ba11d04d2fd637f07b67bfd7d6372f02dd6","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.13.0.tgz","fileCount":26,"integrity":"sha512-Kh5NPmc1TkGSzTqMOEtNgDT1sOmAo7IW5PtgZpjPtsHV84/wTOWDCeNeLZrWYIxDU4TFaavEaZ+RjaWqdY3eyA==","signatures":[{"sig":"MEYCIQCRW/J7+igmy9K2yaCyOmEEV7hwldgwYrega7692F5HXQIhAPl97F0LnGgiCYTxJpNnrELQ6RaDqPIo7TBADxGf+1Vu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354222},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"c4e3f6a1f51345ca405b273b2e807fac9afdb1eb","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.17.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.19.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.13.0_1786668651692_0.5519304446541737","host":"s3://npm-registry-packages-npm-production"}},"2.13.1":{"name":"@arclux/prism","version":"2.13.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@2.13.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"bafe76e97b1eff922a6a2540871b7a55ccd92a3d","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-2.13.1.tgz","fileCount":26,"integrity":"sha512-kuTk4+ouj0RcNg0RvGIypulPbxLXYV7Fxcn5YuTqij7d2Gyc1UyJ2uuJ0INwVpwRJwuN4lt2URb85xvxA/5xqQ==","signatures":[{"sig":"MEUCIQCuddShxDo0O3w+R7lbHhifErcUepoDUukzmckwI7y3rwIgP26mELnxhgW6puBeQ6XdSIZRdvGHGq+OaJxl14h/tKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@2.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":361192},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"7d399b007ff630a96571634c6666ab1aadff8495","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.17.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.19.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_2.13.1_1786857394831_0.1267583200075404","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.1":{"name":"@arclux/prism","version":"3.0.0-beta.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@3.0.0-beta.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"3ffd96bdf992342f1d859553772a31bec8617a6c","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-3.0.0-beta.1.tgz","fileCount":31,"integrity":"sha512-QtQAdbH0Qx7apJITg8NuEPI6mPwZhqq6RJqdf363lVCLRBEz4oYpJZZdpW6KqFg8xoKr6C8CfvW2WQvfcoRciw==","signatures":[{"sig":"MEQCIAK7ShH9Bf0rmRxr/NlVnk+H8FAAfC6ndkv4v/uFgQYbAiBp2m1tPrae4z8WSbrYv+kGKBhRjT8wWXFl+Wihjppmmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@3.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":497349},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"7dcd2d0699d5dc409ae4b194fefe37c2978bd0c7","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.17.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.19.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"lit":"^3.3.3","eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_3.0.0-beta.1_1786925766482_0.3980091029238533","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@arclux/prism","version":"3.0.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@3.0.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"e52f3f8a86091b901554d330b87662ddeb6b108c","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-3.0.0.tgz","fileCount":32,"integrity":"sha512-FDE7p4DcmpIZYEh/ZCdAO/R1SQPcJim4OrRBng+qlkRc6oMxltoGVDeujWAEJAM+b1ZP7WwUXfWcn148yWv45g==","signatures":[{"sig":"MEQCIAnk5RYneroyIpTUYfCzHKnjJ4misJDlPyoIFYKnIxYTAiBV2jAAgSEF5YoQn4mIky5wEbK2CJ+mD9KLron5j6sB7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461982},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"9e893b82893a0c734b7a61922aa474140ae9cff9","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.17.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.19.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"lit":"^3.3.3","eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_3.0.0_1786928827668_0.7058899932583906","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@arclux/prism","version":"3.1.0","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@3.1.0","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"031b167213c8b92d1fda9d665df5b3f8c1ad9c2d","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-3.1.0.tgz","fileCount":33,"integrity":"sha512-vwy7Ykw23briFhIgtB1WJFRmLCFDVFxkOi7vzWnhuwCeg49c2Dv68d0DU4PXdc6JmTzTo73QFADjtelE+bHNLA==","signatures":[{"sig":"MEQCICI/CD24cf5bSrb8PO1s4nLx8VSfp0+ETMVIKn5eqIKeAiBuHqfEKjF/oRyKkCA1WSN69QotzdH4iTK9qMEVuIvfIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":504692},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"a59f2f99ba58c4f5afedaf81935ec36a8acb2d09","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:types":"node test/typecheck/run.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.17.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.19.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"lit":"^3.3.3","eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_3.1.0_1787420299451_0.3368591616273038","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@arclux/prism","version":"3.1.1","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"author":{"name":"Arclight Digital, LLC"},"license":"MIT","_id":"@arclux/prism@3.1.1","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"homepage":"https://github.com/arclight-digital/prism#readme","bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"bin":{"prism":"src/cli.js"},"dist":{"shasum":"510bdbe8dc351744bd7f8a4c2dab516fb3f3431c","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-3.1.1.tgz","fileCount":33,"integrity":"sha512-J/6+IPsz8nH90ev+1Tq68sT/elXKpDGorZxyduag8OGVJcW0Nhw4UuVokgQZRq/JmPsYxmnrjstc61h1OUuGSw==","signatures":[{"sig":"MEUCIQCaQ3IMaYD5Tbjb1Gao1/Tn6ODVBqgdUmCzbNqIIglMLwIgTge8ylBo7caB4NNw0f9yg4G6WtOrQNv50A2NJF4XBrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512008},"type":"module","engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"eacad129a14b034ea717f7cf5df103483a9944e3","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:types":"node test/typecheck/run.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.17.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"_nodeVersion":"24.19.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"lit":"^3.3.3","eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/prism_3.1.1_1787423566984_0.15493127484719338","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"_id":"@arclux/prism@3.2.0","bin":{"prism":"src/cli.js"},"bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"dist":{"shasum":"3a8f07fe704de9f4ad88f8634ebd47f3d75a88d8","tarball":"https://registry.npmjs.org/@arclux/prism/-/prism-3.2.0.tgz","fileCount":33,"integrity":"sha512-uIp9hvDLZ/Cvtu59f0lQWROAdysN/Kgy3R43ThgmOd/Fs8N5uoMoQvCNXgaeY2KaSIB3Uwx3hYztbDwHADfFhA==","signatures":[{"sig":"MEUCIQDbha8dedVqK6QBuyIb7P64OpV7uSN0z/evSUj/Ecxe1wIgSwcHFQQVzVdryvuhibGwwlA6bvPInTnBTzpEDLDs1Ek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCm+pWlsO1J1NRlHNjFTnTRYvJENxEhoMvttc74lsbcnQIhAN60Dj9gL9rlC0J69jj2jpesrLHe0idajO6HZQhFUWfH"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arclux%2fprism@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527636},"name":"@arclux/prism","type":"module","author":{"name":"Arclight Digital, LLC"},"engines":{"node":">=24"},"exports":{"./parser":"./src/parser.js","./css-transform":"./src/css-transform.js","./resolve-tokens":"./src/resolve-tokens.js"},"gitHead":"23aba74c1613bdfe81d0479b14ce62d25f8c94bb","license":"MIT","scripts":{"lint":"eslint src/ test/","test":"vitest run","watch":"node src/cli.js --watch","generate":"node src/cli.js","test:types":"node test/typecheck/run.js","test:watch":"vitest","test:coverage":"vitest run --coverage"},"version":"3.2.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ab11a9ba-24fc-4e50-841c-d1eb9d90c856"}},"homepage":"https://github.com/arclight-digital/prism#readme","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"_npmVersion":"11.19.0","description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","directories":{},"maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"_nodeVersion":"24.21.0","dependencies":{"chokidar":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"lit":"^3.3.3","eslint":"^10.7.0","vitest":"^4.1.10","@eslint/js":"^10.0.1","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prism_3.2.0_1790403232877_0.8808527249003433"}}},"time":{"created":"2026-02-13T16:30:14.160Z","modified":"2026-09-26T06:13:53.330Z","1.0.0":"2026-02-13T16:30:14.393Z","1.0.1":"2026-02-13T17:04:26.021Z","1.1.0":"2026-02-14T05:48:58.412Z","1.2.0":"2026-02-14T17:29:41.124Z","1.2.1":"2026-02-14T17:48:14.055Z","1.2.2":"2026-02-14T19:11:49.258Z","1.3.0":"2026-07-13T18:44:18.703Z","1.3.1":"2026-07-13T20:11:43.400Z","2.0.0":"2026-07-23T18:49:17.032Z","2.0.1":"2026-07-23T18:59:05.367Z","2.0.2":"2026-07-23T23:06:54.766Z","2.0.3":"2026-07-23T23:41:47.299Z","2.0.4":"2026-07-24T00:03:32.347Z","2.0.5":"2026-07-24T00:17:07.206Z","2.2.0":"2026-07-29T04:13:28.531Z","2.2.1":"2026-07-29T04:35:18.251Z","2.3.0":"2026-07-29T16:14:14.182Z","2.4.0":"2026-07-29T17:53:27.731Z","2.5.0":"2026-07-29T18:35:23.377Z","2.6.0":"2026-07-29T18:52:49.932Z","2.7.0":"2026-07-29T23:17:47.483Z","2.7.1":"2026-07-30T00:25:02.291Z","2.8.0":"2026-07-30T00:38:36.700Z","2.11.0":"2026-07-31T16:37:59.559Z","2.11.1":"2026-07-31T17:55:51.692Z","2.12.0":"2026-08-02T01:53:43.716Z","2.13.0":"2026-08-14T00:50:51.850Z","2.13.1":"2026-08-16T05:16:34.964Z","3.0.0-beta.1":"2026-08-17T00:16:06.631Z","3.0.0":"2026-08-17T01:07:07.819Z","3.1.0":"2026-08-22T17:38:19.641Z","3.1.1":"2026-08-22T18:32:47.178Z","3.2.0":"2026-09-26T06:13:52.964Z"},"bugs":{"url":"https://github.com/arclight-digital/prism/issues"},"author":{"name":"Arclight Digital, LLC"},"license":"MIT","homepage":"https://github.com/arclight-digital/prism#readme","keywords":["lit","web-components","code-generator","react","vue","svelte","angular","solid","preact","wrapper","html","css"],"repository":{"url":"git+https://github.com/arclight-digital/prism.git","type":"git"},"description":"Auto-generate framework wrappers (React, Vue, Svelte, Angular, Solid, Preact) and HTML/CSS examples from Lit web components","maintainers":[{"name":"arclight-dev","email":"hello@arclight.build"}],"readme":"# @arclux/prism\n\n[![CI](https://github.com/Arclight-Digital/prism/actions/workflows/ci.yml/badge.svg)](https://github.com/Arclight-Digital/prism/actions/workflows/ci.yml)\n[![npm](https://img.shields.io/npm/v/@arclux/prism)](https://www.npmjs.com/package/@arclux/prism)\n[![license](https://img.shields.io/npm/l/@arclux/prism)](LICENSE)\n[![node](https://img.shields.io/node/v/@arclux/prism)](package.json)\n\nGenerate framework wrappers and HTML/CSS examples from [Lit](https://lit.dev/) web components.\n\nWrite a component once as a Lit custom element. Prism reads the source and generates idiomatic wrappers for **React**, **Vue**, **Svelte**, **Angular**, **Solid**, and **Preact** — plus standalone **HTML/CSS** snippets, **JSX typings**, and wrapper-package **export maps**. Parsing is regex-based: no AST libraries, no build step, plain ESM. The only runtime dependency is [chokidar](https://github.com/paulmillr/chokidar), for watch mode.\n\n## Why\n\nA web-component library still has to meet framework consumers on their terms: typed props, handler props for custom events, `v-model` and `[(x)]` bindings, `formControlName` support, JSX types. Hand-writing that surface for six frameworks turns every new prop into seven edits, and a missed one fails silently — fewer props still type-checks. Prism generates the whole surface from the component source, reads back what it wrote, and reports everything it couldn't act on.\n\n## What it generates\n\nGiven a Lit component:\n\n```js\nclass ArcButton extends LitElement {\n  static properties = {\n    variant: { type: String, reflect: true },\n    disabled: { type: Boolean, reflect: true },\n  };\n\n  constructor() {\n    super();\n    this.variant = 'primary';\n    this.disabled = false;\n  }\n\n  static styles = css`\n    :host { display: inline-flex; }\n    :host([variant=\"primary\"]) { background: var(--arc-color-primary); }\n    :host([variant=\"secondary\"]) { background: var(--arc-color-secondary); }\n  `;\n\n  render() {\n    return html`<button class=\"btn\"><slot></slot></button>`;\n  }\n}\ncustomElements.define('arc-button', ArcButton);\n```\n\nPrism generates:\n\n| Output | What you get |\n|--------|-------------|\n| **React** | TypeScript wrapper via `@lit/react` `createComponent`, with a typed `ButtonProps` interface and a `'primary' \\| 'secondary'` union for `variant` |\n| **Vue 3** | `.vue` SFC with `defineProps` generics and `withDefaults` |\n| **Svelte 5** | `.svelte` component using `$props()` runes |\n| **Angular** | Standalone component attached to the element itself, with `@Input()` accessor pairs and a `ControlValueAccessor` for form-associated elements |\n| **Solid** | `.tsx` component using `splitProps()` for reactivity-safe forwarding |\n| **Preact** | `.tsx` component with native custom-element support |\n| **HTML** | Static snippet wrapped in a `<span>` or `<div>` (based on host display), slots replaced with placeholder text |\n| **Inline HTML** | Same snippet with all `var()` tokens resolved and styles inlined |\n| **CSS** | Shadow DOM CSS transformed to light DOM (`:host` &rarr; `.arc-button`, scoped inner selectors) |\n| **CSS bundle** | All components combined into one `arc-ui.css` with design tokens |\n| **JSX typings** | `react-jsx.d.ts` / `preact-jsx.d.ts` / `solid-jsx.d.ts` for consumers who render `<arc-button>` directly |\n| **Export maps** | Each wrapper package's `exports` field, a subpath per component |\n\nProps, defaults, types, events, and interactivity level are extracted automatically:\n\n- **Enum unions** come from a `@prop {'primary' | 'secondary'} variant` JSDoc tag, or failing that are inferred from `:host([variant=\"value\"])` CSS patterns plus the prop's own default.\n- **Complex types** in a non-union `@prop` tag are emitted verbatim, so a `series` prop can be `Array<{label: string, data: number[]}>` rather than `unknown[]`.\n- **Custom events** (`dispatchEvent(new CustomEvent('arc-change'))`) become typed handler props in every wrapper — `onArcChange` in React/Solid/Preact, a wired `defineEmits` listener in Vue, an `@Output()` in Angular. Preact binds through a ref effect, since its `on*` convention can't reach hyphenated event names.\n\n## Installation\n\n```bash\nnpm i -D @arclux/prism\n```\n\nRequires **Node.js 24+**. No peer dependencies.\n\n## Usage\n\n```bash\nnpx prism                          # Generate everything in prism.config.js\nnpx prism --watch                  # Regenerate when source files change\nnpx prism path/to/button.js        # Process a single component file\nnpx prism --config ./custom.config.js\nnpx prism --prune                  # Delete generated output whose component is gone\nnpx prism --strict                 # Exit 1 if anything was reported\nnpx prism --report-json out.json   # Write findings as JSON\n```\n\nShort forms: `-w` for `--watch`, `-c` for `--config`.\n\n## Configuration\n\nCreate `prism.config.js` in your project root. Every section except `components` and `tiers` is optional — include only the outputs you need. A complete, copyable starting point ships as [`prism.config.example.js`](prism.config.example.js):\n\n```js\nexport default {\n  prefix: 'arc',\n  components: 'packages/web-components/src',\n  tiers: ['content', 'reactive', 'application'],\n  ignore: ['**/index.js', '**/shared-styles.js', '**/icons/**'],\n\n  react:  { outDir: 'packages/react/src',  wcPackage: '@arclux/arc-ui', barrels: true },\n  vue:    { outDir: 'packages/vue/src',    wcPackage: '@arclux/arc-ui', barrels: true },\n  svelte: { outDir: 'packages/svelte/src', wcPackage: '@arclux/arc-ui', barrels: true },\n  angular:{ outDir: 'packages/angular/src',wcPackage: '@arclux/arc-ui', barrels: true },\n  solid:  { outDir: 'packages/solid/src',  wcPackage: '@arclux/arc-ui', barrels: true },\n  preact: { outDir: 'packages/preact/src', wcPackage: '@arclux/arc-ui', barrels: true },\n\n  jsxTypes: { outDir: 'packages/web-components/types' },\n\n  html: { outDir: 'packages/html/examples', baseCSS: 'shared/tokens.css', inlineVariant: true },\n  css:  { outDir: 'packages/html/css',      baseCSS: 'shared/tokens.css' },\n};\n```\n\n### Source options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `prefix` | `string` | `'arc'` | Component tag prefix. Controls tag stripping (`arc-button` &rarr; `Button`), the CSS bundle filename, and custom event detection |\n| `components` | `string` | *required* | Root directory containing Lit component sources |\n| `tiers` | `string[]` | *required* | Subdirectories of `components` to scan |\n| `ignore` | `string[]` | `[]` | Patterns to skip — bare filenames, `**/`-prefixed names, or directory globs |\n| `interactivity` | `Record<string, level>` | `{}` | Per-tag classification overrides — see [Interactivity](#interactivity-detection) |\n| `bindings` | `Record<string, { exclude }>` | `{}` | Per-tag opt-outs from derived two-way bindings — see [Two-way bindings](#two-way-bindings) |\n| `acknowledge` | `Array<{ code, tag?, prop?, note? }>` | `[]` | Findings you've decided about, so `--strict` can pass — see [Acknowledging findings](#configacknowledge) |\n| `runtime` | `boolean \\| { setup? }` | `false` | Resolve properties from the class by importing it — see [`config.runtime`](#configruntime) |\n| `propsFrom` | `(source, filePath) => Props[] \\| undefined` | — | Resolve declarations prism's reader can't. Unnecessary with `runtime` — see [`config.propsFrom`](#configpropsfrom) |\n| `formAssociated` | `(source, filePath) => boolean \\| undefined` | — | Answer whether an element is form-associated when a mixin declares it. Unnecessary with `runtime` |\n| `formValue` | `Record<string, string \\| string[]>` | `{}` | The property a form binds on a component, or a pair for a compound value |\n| `barrelExclude` | `string[]` | `[]` | Components kept out of every barrel — see [Barrels](#keeping-a-component-out-of-the-barrels) |\n| `jsxTypes` | `{ outDir, frameworks? }` | — | Write the opt-in JSX declaration files — see [JSX typings](#configjsxtypes) |\n\n### Framework options\n\nEach framework section (`react`, `vue`, `svelte`, `angular`, `solid`, `preact`) accepts:\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `outDir` | `string` | *required* | Output directory for generated wrappers |\n| `wcPackage` | `string` | `'@{prefix}/{prefix}-ui'` | Package name used in wrapper `import` statements |\n| `barrels` | `boolean` | `false` | Append exports to tier- and root-level index files |\n| `packageJson` | `string` | — | Path to the package's manifest; enables the [exports map](#wrapper-package-export-maps). Not supported for `angular` |\n| `exportsMode` | `'dist'\\|'dist-solid'\\|'dist-svelte'\\|'dist-vue'\\|'src'` | per framework | What the package build emits, and so what subpaths point at |\n\n### HTML / CSS options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `html.outDir` | `string` | *required* | Output directory for HTML snippets |\n| `html.baseCSS` | `string` | — | Design-tokens CSS, used by the inline variant to resolve `var()` |\n| `html.inlineVariant` | `boolean` | `false` | Also generate `.inline.html` files with tokens resolved and styles inlined |\n| `css.outDir` | `string` | *required* | Output directory for per-component CSS and the `{prefix}-ui.css` bundle |\n| `css.baseCSS` | `string` | — | Design-tokens CSS, included as a `:root` block in the bundle |\n\n## How parsing works\n\n1. **Tag + class name** from `customElements.define(...)` or a `@tag` JSDoc annotation. Invalid tag names are skipped.\n2. **Properties** from `static properties = {...}`, `static get properties()`, or `@property()` decorators. `{ state: true }` / `@state()` members are excluded. A declaration that isn't an object literal is reported as `unparsed-prop-declaration` — see [`config.propsFrom`](#configpropsfrom).\n3. **Defaults** from `constructor() { this.variant = 'primary'; }`.\n4. **CSS** from `` css`...` `` template literals.\n5. **Enum values** from a documented `@prop` union, falling back to `:host([prop=\"value\"])` CSS patterns plus the prop's default. Where both exist, disagreements are reported as `doc-drift`.\n6. **Prop types** from non-union `@prop` tags, emitted verbatim. The type must be self-contained — generated wrappers take no imports, so a type naming your own exported symbol is reported instead.\n7. **Template** from `render()`, with variable templates inlined and simple ternaries resolved against prop defaults.\n8. **Events** from `dispatchEvent(new CustomEvent(...))` calls, including each event's top-level `detail` keys and which prop each key carries the new value of.\n9. **Public methods** from the class body — instance methods that aren't private (`_`/`#`), static, or called by Lit or the browser. With `config.runtime`, from the prototype chain instead, so a mixin's methods count too.\n10. **Host display** from `:host { display: ... }` — decides the HTML snippet's wrapper element.\n11. **Interactivity level** — see below.\n\n## Two-way bindings\n\nA wrapper that only passes props down is write-only: the framework's copy of `value` never updates, and the next unrelated re-render re-sets the stale value onto the element. Prism derives the write-back path two ways, both read from the source:\n\n- **The key names the prop.** An event whose `detail` carries a key matching a declared prop name is that prop's write-back path — the convention most components already follow.\n- **The dispatch site says so.** A prop the component assigns *outside its constructor* and then announces in an event is state it shares rather than receives, whatever the payload calls it. `arc-sidebar-toggle` carrying `sidebarOpen` as `detail.value` is a binding; so is `detail: { value }` dispatched from `_setOpen(value) { this.open = value; … }`.\n\nThe second is what a name-keyed rule cannot see, and the drift it prevents is silent: a drawer the component closes on Escape or on a backdrop click leaves the consumer's copy of `open` reading `true`, and a close button that reopens nothing.\n\nWhere the two disagree, the dispatch site wins — they only disagree when the source is explicit. A checkbox sending `detail: { value: this.checked }` while declaring `value` as the string a form submits is carrying the checked flag, and mirroring it onto `value` writes a boolean into a string.\n\nIf two events carry the same key (a slider firing `arc-input` and `arc-change`), both are listened to. A prop is announced by one key per event: where two keys carry the same prop, the one that names it outright is used.\n\n| Generator | Consumer writes | Prism emits |\n|---|---|---|\n| Svelte | `bind:value` | `$bindable()` + a handler per event |\n| Vue | `v-model:value` | `update:value` in `defineEmits` |\n| Angular | `[(value)]` | `@Output() valueChange` |\n| Solid, Preact | — | nothing; no two-way binding form |\n| React | — | nothing; `@lit/react` wires properties and events itself |\n\nSvelte's `$bindable()` never carries the prop's default. Svelte 5 throws `props_invalid_value` on `bind:checked={undefined}` against a prop with a fallback, and `let checked = $state(); <Checkbox bind:checked />` is how that binding is idiomatically written. The element applies its own default when the prop arrives undefined, so the fallback would only have been the reader's view.\n\n**A binding is only as good as the paths that announce.** Both derivations read what the component *says*, so a component that announces three of its four transitions looks fully compliant: prism sees the three, emits the binding, and the silent fourth is exactly the drift the binding exists to prevent. The reference catalog had one — a shell whose drawer closed four ways, three through a method that assigned and announced, the fourth a bare `this.sidebarOpen = false` on a resize past the breakpoint. Invisible while the prop was one-way, a stale `true` in the consumer's copy the moment it wasn't. Nothing in the source distinguishes that from a prop the component simply doesn't move, so if you own the component: every path that changes a shared prop announces it, or none of them should.\n\nThe original event relay still fires in every case, so plain `@arc-input` handlers keep working alongside the binding. Only top-level `detail` keys count; a nested payload never produces a binding. An ambiguous dispatch answers nothing: a local assigned to two props before it is announced makes neither of them the prop the event is about.\n\n### `config.bindings` — opt-outs\n\nTwo kinds of exception exist, and both fail quietly, so they live in config:\n\n```js\nbindings: {\n  // Name collision: detail.label is the selected option's text, not the field's\n  // own label — the binding would write the wrong data.\n  'arc-select': { exclude: ['label'] },\n  // Echo: detail.value is the copied string; the button never changes it.\n  'arc-copy-button': { exclude: ['value'] },\n},\n```\n\n`exclude` names props, not detail keys — the prop is what the binding would write.\n\nMalformed entries throw at config load.\n\n## Interactivity detection\n\nEach component is classified to decide whether it can be represented as static HTML/CSS:\n\n| Level | Meaning | HTML/CSS output? |\n|-------|---------|:---:|\n| **static** | Pure display, no JS needed | Yes |\n| **hybrid** | Renders without JS; JS adds features | Yes |\n| **interactive** | Requires JS to function | No |\n\nAll components get framework wrappers regardless; the level only affects HTML/CSS output.\n\nAuto-detection is binary (static or interactive): template event handlers (`@click=` etc.), `dispatchEvent`, imperative shadow-DOM access, or `:host { display: none }` all mean `interactive`; otherwise `static`. `hybrid` always requires an override.\n\nOverrides resolve in order: `config.interactivity` (preferred — config is never machine-rewritten, and a bad entry throws at load while an unmatched one warns every run), then an `@arc-prism static|hybrid|interactive` JSDoc tag (kept for back-compat; a malformed tag silently falls through), then auto-detection.\n\n```js\ninteractivity: {\n  'arc-tab':        'interactive',  // child of arc-tabs\n  'arc-code-block': 'hybrid',       // display works; copy needs JS\n},\n```\n\nEvery run states the aggregate of what it skipped, and flags auto-classified components that look presentational (few handlers, substantial stylesheet) as candidates for `hybrid`:\n\n```\n85 of 186 components produce HTML/CSS; 101 are interactive (237 KB of component CSS reaches no output).\n\n3 of those look presentational — few handlers on a substantial stylesheet:\n  arc-button — 4 KB CSS, classified interactive by @click\n```\n\nThe flag questions only auto-detected levels — a config or JSDoc level is a decision, not a guess.\n\n## Generated wrapper details\n\n### Named slots\n\nSvelte gets a snippet prop per named slot; Vue gets a forwarded `<slot name>` per slot. React, Preact, Solid, and Angular need no per-slot outlet — they project children into the light DOM and the browser assigns them from the `slot` attribute — but they do need their single children outlet, which is also the route for named-slot content. So a component whose slots are all named still takes `children` in those four, and Angular still gets one bare `<ng-content />`.\n\nThe wrapper adds no carrier element around your content (one would break `::slotted()` rules and slot layout), so the `slot` attribute goes on your own element:\n\n```svelte\n<Toolbar>\n  {#snippet start()}\n    <button slot=\"start\">Play</button>\n  {/snippet}\n  <span>default content</span>\n</Toolbar>\n```\n\n```vue\n<Toolbar>\n  <template #start><button slot=\"start\">Play</button></template>\n  <span>default content</span>\n</Toolbar>\n```\n\n**Components that take no children:** wrappers accept `children` unless prism has positive evidence they shouldn't — the component declares only named slots (in the four light-DOM frameworks, only when it has no slots at all), or the class JSDoc says so:\n\n```js\n/**\n * @tag arc-spinner\n * @slot none\n */\n```\n\nFinding no `<slot>` in the file is not treated as evidence: a default slot rendered by a base class, mixin, or helper looks identical from the source. With `@slot none`, every wrapper omits `children`, turning content that would vanish at runtime into a type error. If the component does render a default `<slot>`, the markup wins and the contradiction is reported (`slot-none-contradicted`).\n\nSlot names that aren't valid identifiers become camelCase snippet props (`slot=\"icon-left\"` &rarr; `iconLeft`) and are reported (`slot-name-not-identifier`): `{#snippet iconLeft()}` reaches the slot, `slot=\"icon-left\"` on a direct child of the Svelte wrapper does not.\n\n### What the generated Props accept\n\nThe Svelte, Preact, and Solid interfaces list the component's own props, then the common global HTML attributes by name (`class`, `id`, `style`, `role`, `part`, `tabindex`, …) plus pattern index signatures for `data-*`, `aria-*`, and `on*`. That is deliberately narrower than `[key: string]: unknown`, which accepts every typo — `<Slider valu={3} />` used to type-check clean. If a global attribute you need is missing, open an issue.\n\n### camelCase props\n\nA prop whose name changes under lowercasing can't travel as an attribute: `confirmLabel` becomes `confirmlabel` in the DOM, which Lit doesn't observe, so the element keeps its constructor default. Prism sets these as **properties** instead — an `$effect` against a ref in Svelte, `[confirmLabel]` binding in Angular, `prop:confirmLabel` in Solid; React, Vue, and Preact already resolve the property by name. Kebab-case would be worse, not better: Lit's Boolean converter is presence-based, so `auto-resize=\"false\"` would set `autoResize` to **true**.\n\nOne consequence in Svelte: `$effect` doesn't run during SSR, so a camelCase prop is applied on hydration rather than appearing in the server HTML.\n\n### Prop names your framework reserves\n\nReact and Preact take `key` and `ref` in the reconciler, so `<Column key=\"name\" />` sets the list key and the prop silently never reaches the component. Prism can't work around this in the wrapper — the value is taken before the component function runs — so it reports the collision (`framework-reserved`), checked only for frameworks you generate.\n\n**Prefer an alias to a rename.** The prop still works in plain HTML and every unaffected framework, so renaming breaks working consumers to fix broken ones. A second name the component falls back to breaks nobody:\n\n```js\nconst name = col.field ?? col.key;   // React/Preact users pass `field`\n```\n\n### Components driven by methods\n\nA component with a public method — `show()` returning an id, `dismiss(id)` taking it back, `edit()`, `next()`, `getCrop()` — needs its element reachable, and most frameworks hand back their own object instead: Svelte's `bind:this` yields the Svelte component, a Vue template ref yields the SFC instance, an Angular template reference yields the wrapper whose `ElementRef` is private to it. React is the exception, because `@lit/react` forwards refs already — which is why this surfaces in an application rather than in a package build.\n\nSo a component with public methods gets a handle in every wrapper, typed as the element class:\n\n| Generator | Consumer writes | Reaches the element by |\n|---|---|---|\n| Svelte | `bind:this={toast}` | `toast.element()` — a function, because an instance `export` in runes mode captures its binding before the element exists |\n| Vue | `<Toast ref=\"toast\" />` | `toast.value.element` — `defineExpose`, unwrapped on the way out |\n| Angular | `@ViewChild(Toast)` | `toast.element` |\n| Solid | `ref={el}` | `el` — the ref is forwarded to the element |\n| Preact | `ref={el}` | `el.current` — the component is wrapped in `forwardRef` |\n| React | `ref={el}` | `el.current` — provided by `@lit/react`, not emitted here |\n\n`element` yields to a prop of the same name (the handle becomes `_element`); in Solid, `ref` is the framework's own word and a component declaring a prop by that name keeps it and gets no handle.\n\n**React's row is the one prism does not verify.** The other five are emitted here and read back by `wrapper-missing-handle`; React's rests on `@lit/react`'s own contract, so prism emits nothing to check and that finding skips the framework entirely. If the ref forwarding in `createComponent` ever changed, React wrappers would quietly have no handle and the check built to catch a missing handle would not fire — it can only fail in the direction of something prism wrote.\n\nNothing about the method surface is restated in the wrapper — the handle *is* the element, so everything the component declares stays reachable, and prism has no signature to get wrong.\n\n### Angular reactive forms\n\n`formControlName`, `formControl`, and `[(ngModel)]` all reach a component through `ControlValueAccessor` — and a wrapper without one doesn't fail, it binds nothing and reports nothing while the element on screen holds the user's text. Prism emits the accessor for the components a form can actually bind to.\n\n- **Which components:** those with `static formAssociated = true` — the platform's own definition of a form control. No tag tables, no guessing from change events (which would sweep in tabs and toggles). If a mixin contributes the static, [`config.runtime`](#configruntime) sees it directly; without runtime, a `config.formAssociated(source)` hook can answer (return `true`, `false`, or `undefined` to fall through).\n- **What a form binds:** `checked` if declared, otherwise `value` — read from the component, so a new control is covered by writing it. The accessor commits on the component's change event (`arc-change` over `arc-input` — committing on input marks the form dirty every keystroke) and reads the DOM property rather than the event `detail`, so no payload shape has to be agreed on.\n- **Compound values:** a control whose value is a pair has no single property to carry, so name both and the accessor carries an object — what a reactive form holds for a compound value anyway:\n\n  ```js\n  formValue: {\n    'arc-date-range-picker': ['start', 'end'],\n    'arc-range-slider': ['low', 'high'],\n  },\n  ```\n\n  `config.formValue` also names the property outright for a control declaring neither `value` nor `checked`. Without an entry, the component is reported as `form-control-unbindable` and its wrapper is generated without an accessor.\n- **`@angular/forms` becomes a peer dependency** of the Angular wrapper package — `NG_VALUE_ACCESSOR` is a runtime value, so an optional peer would not do. Range it against `@angular/core`.\n\nThree details of the emitted accessor are deliberate: the change listener is attached in the constructor (the `host` metadata already carries the event's own `@Output`, and can't hold two handlers for one event); `writeValue` never echoes back into the form (that would mark the control dirty on every programmatic `setValue`); and the reset value follows the declared type — `''`, `false`, `0`, `[]`, or a union's own default, since `''` is not a member of `'sm' | 'md' | 'lg'`.\n\n### `config.jsxTypes`\n\nFor consumers who render `<arc-input value=\"…\">` directly, prism writes `react-jsx.d.ts`, `preact-jsx.d.ts`, and `solid-jsx.d.ts`, each augmenting the module its framework actually resolves `JSX.IntrinsicElements` through:\n\n```js\njsxTypes: {\n  outDir: 'packages/web-components/types',\n  frameworks: ['react', 'preact', 'solid'],   // default: all three\n  // wcPackage: '@arclux/arc-ui',             // inherited from the wrapper sections\n},\n```\n\nA documented union stays a union, so a wrong enum value is a compile error — most of what the file is worth. The base attribute set is per framework: Solid carries `on:` (how a custom event is reached from JSX with no ref), `prop:`, `attr:`, `use:`, and `classList`; Preact's `on${string}` stays loose because Preact lowercases handler names and can't reach dashed events from a prop; React takes `className` and `tabIndex`. Each element is typed under both its property and attribute spellings, since Lit *lowercases* names (`confirmLabel` &rarr; `confirmlabel`) and both forms work.\n\n`wcPackage` is the package name written into the activation instructions, inherited from the framework sections; it must be set explicitly when those sections name different packages or none is configured. If you already generate these files yourself, prism won't overwrite them — it reports `jsx-types-not-written` instead. Delete your copy once compared, and prism owns the path from the next run (or acknowledge the code to keep yours).\n\n**Applying the file is the part that goes wrong.** These look right and silently do nothing — TypeScript resolves a `types` entry as a *package* and never follows an export-map subpath, with no diagnostic:\n\n```jsonc\n{ \"compilerOptions\": { \"types\": [\"@arclux/arc-ui/react-jsx\"] } }   // does nothing\n/// <reference types=\"@arclux/arc-ui/react-jsx\" />                  // does nothing\n```\n\nTwo forms that work (the generated header states them too):\n\n```jsonc\n{ \"include\": [\"src\", \"node_modules/@arclux/arc-ui/types/react-jsx.d.ts\"] }\n/// <reference path=\"./node_modules/@arclux/arc-ui/types/react-jsx.d.ts\" />\n```\n\n### Wrapper package export maps\n\nPrism decided the wrapper file tree, so it can write the `exports` map rather than have a second program re-infer it:\n\n```js\nreact: {\n  outDir: 'packages/react/src',\n  packageJson: 'packages/react/package.json',\n  // exportsMode: 'dist',   // defaults per framework; 'src' for a package with no build\n},\n```\n\nEvery component gets its own subpath (`@arclux/arc-ui-react/Button`), so a consumer that can't tree-shake a 200-export barrel imports one component without the rest. There is deliberately no `\"./*\"` wildcard — it publishes every internal file as unversioned API. Prism sets `exports`, plus `main`/`module`/`types` for built modes, and leaves the rest of the manifest alone.\n\nDefault modes match what each toolchain consumes: `dist` for React and Preact; Solid adds a `solid` condition pointing at source `.tsx` so Solid's compiler owns the JSX; Svelte ships the component under the `svelte` condition; Vue uses vue-tsc's `.vue.d.ts` naming. Source targets are checked for existence (`exports-target-missing`); dist targets aren't, since the package build fails loudly about those. Two components wanting the same subpath are reported (`exports-subpath-collision`).\n\n**Angular is refused rather than written wrong:** `ng-packagr` owns the published manifest for an Angular library and copies a source `exports` map verbatim into dist, where it ships broken. `config.angular.packageJson` throws at config load.\n\n### Keeping a component out of the barrels\n\nA bundler resolves the dynamic imports of everything in its module graph, and a barrel puts every component there — so one component's optional dependency becomes every consumer's required install. `config.barrelExclude` names components that stay out:\n\n```js\nbarrelExclude: ['arc-code-block'],   // pulls in shiki\n```\n\nExcluded components are still generated, still verified, and still get their own subpath — they're just not re-exported from any barrel. Existing barrel entries are removed on the next full run.\n\n## Reading properties from the class\n\n### `config.runtime`\n\nSource reading has one blind spot it can't reason around: **a property contributed by a mixin or base class isn't in the file that declares the component.**\n\n```js\nclass ArcInput extends FormControlMixin(LitElement) { … }\n```\n\n`readonly`, `required`, and `name` are real reactive properties of that element, and no amount of reading `input.js` finds them. The sharper version is inheritance: `export class ArcModal extends ArcDialog {}` has every property `ArcDialog` declares and none that source reading can attribute to it — an ordinary refactor into a subclass silently empties the component's wrappers.\n\nLit already computes the answer: `Ctor.elementProperties` is the flattened map of every reactive property, mixins and superclasses included. `config.runtime` reads it:\n\n```js\nruntime: true,\n// or, if your components need a DOM at import time:\nruntime: { setup: './scripts/dom-shim.js' },\n```\n\n**It's opt-in because reading the class means importing the module, and importing runs it** — a config file is the right place to say yes to that. Lit 3 carries its own DOM shim, so most projects need no `setup`; the option exists for components that touch a browser global at module scope. It degrades rather than fails: a module that throws on import costs that one component its runtime answer (reported as `runtime-unavailable`) and falls back to the source reader.\n\n`runtime` also answers for **methods**: `checkValidity()` contributed by a form-control mixin is a method of the element and of no file prism reads, and what a component's methods are is what decides whether its wrappers hand back a handle.\n\nThe prototype chain is walked to the mixin and no further. Where to stop is decided by **shape, not by name** — the prototype that owns `requestUpdate`, `performUpdate` and `createRenderRoot` is Lit's, whatever it is called. Names are not available to be tested: in the build a plain `import()` resolves, `LitElement.name` is `\"i\"` and `ReactiveElement.name` is `\"g\"`, so a name test passes against a dev build and fails in production, where it reports every component as driven by `enableUpdating()` and a mangled private. If the walk reaches the end of the chain without recognizing that boundary, it answers nothing and the component's own file is read instead, reporting `runtime-methods-unreadable` — a partial list is a smaller answer, but a list assembled past the boundary is a wrong one.\n\nWith `runtime` on, four things become unnecessary: mixin props are ordinary `elementProperties` entries, `config.propsFrom` and `config.formAssociated` are answered by the class itself, and `unparsed-prop-declaration` can't occur. A configured `propsFrom` still wins — it's explicit configuration — but is now checked against the class, and omissions are reported. Documented unions and CSS-inferred enums still come from source and apply on top: the class knows what a property *is*; the file knows what the author said about it.\n\n**Defaults come from an instance.** A default seeded by a mixin constructor, set in a class field, or declared in a helper's options (`oneOf(['sm', 'md'])`, `list()`) is on a constructed element and in no constructor prism can read. So prism constructs each class — Lit defers the first update until the element connects, so this runs constructors and nothing else — and takes each property's starting value, where it is plain data (strings, numbers, booleans, arrays and plain objects). Where the constructor's source spelled the same value, its spelling is kept.\n\nTwo constructions, the second with the clock moved more than a year: a default that differs between them is computed — the current month, a random id — and is left out of the wrappers and reported as `runtime-default-unstable`. A wrapper that destructures a default passes it to the element, so emitting one would freeze the generation-time value into every consumer. A class that can't be constructed in Node keeps its source defaults and reports `runtime-defaults-unreadable`. Neither fails `--strict`: the element applies its own default either way, and what's lost is the reader's view of it.\n\n### What a subclass inherits\n\n`elementProperties` brings a subclass's property declarations back on its own. Nothing else flattens, because nothing else is data on the class — events, slots, template, and styles are statements in the base class's file, and so are documented unions (JSDoc). Defaults are the exception: `super()` runs the base constructor, so a constructed subclass already starts where its base does. So prism links a component to the one it extends, by class identity through the prototype chain, and takes the rest from that component's own parse:\n\n- **Events, payloads, and methods** merge always — a subclass dispatches its parent's events and inherits its parent's methods, so an empty subclass of a component driven by `show()` is driven by `show()` too, and its wrappers owe the same handle.\n- **Defaults and documented types** merge always — `super()` runs whatever the base assigns, regardless of what the subclass renders.\n- **Template, styles, slots, and interactivity** transfer only when the subclass renders nothing of its own. A subclass with its own `render()` is describing its own surface and is believed.\n\nInheriting only ever fills a hole: wherever the subclass spoke — its own default, union, or `render()` — it wins. A run reports what it took: `inherits from arc-dialog: events (arc-close, arc-open), defaults (open, heading), template, slots (footer)`.\n\nThis needs the base class to be among the components prism scanned. Where it isn't — a base in another package, or dispatch from a helper module — a `@fires` tag is believed instead. Dispatch sites stay authoritative (they carry the `detail` shape; a tag carries none), but a handler prop for an event that never fires is a harmless unused member, while a missing one is a consumer's handler that silently never runs.\n\n### `config.propsFrom`\n\nPrism reads two shapes of property declaration: an object literal in `static properties`, and an `@property()` decorator. A declaration *built* by helpers is a third shape it can't follow:\n\n```js\nstatic properties = {\n  selected:    int({ default: 0, min: 0, max: '_maxIndex', clamp: 'toRange' }),\n  orientation: oneOf(['horizontal', 'vertical']),\n};\n```\n\nTeaching prism to map helper names to types would put your vocabulary's semantics inside prism, where they'd drift from your repo. The hook lets the repo answer for itself:\n\n```js\n// prism.config.js\nexport default {\n  propsFrom(source, filePath) {\n    // Return an array of props, or undefined to fall through to prism's own\n    // reader — a hook only handles the files it knows about.\n    return myDeclarationReader(source)?.map((d) => ({\n      name: d.name,\n      type: d.type,          // String | Boolean | Number | Array | Object\n      default: d.defaultSrc, // source text, not a value: \"'md'\", not \"md\"\n      reflect: d.reflect,\n      state: d.internal,     // true keeps it off the public surface\n    }));\n  },\n};\n```\n\nOnly `name` is required. `default` is emitted verbatim into generated code, so it's source text (a plain value is converted rather than dropped). Constructor defaults, documented unions, and documented types still apply on top.\n\nThe hook is held to its contract: an unknown `type`, an entry with no usable `name`, a non-array return, or a throw is reported as `invalid-props-from` and prism falls back to its own reader. That code fails `--strict` and can't be acknowledged — it describes a bug in the config, not a finding about a component.\n\n**A hook that under-reports looks identical to a correct one** — there's nothing to validate about an entry it never returned, and a silently dropped prop still type-checks downstream. So the `@prop` tags serve as a cross-check: a hook that answers for a file with strictly fewer props than the file documents gets one `props-from-under-reports` finding naming them. Prefer throwing over returning a partial array; if the tags are the stale half, acknowledge the code or delete them. (With `runtime` on, the same check runs against the class itself, which is exact where the JSDoc check is inferential.)\n\n**Without a hook, an unreadable declaration is still reported**, from two directions:\n\n| Code | Means | `--strict` |\n|------|-------|-----------|\n| `unparsed-prop-declaration` | The reader saw `name:` but the value wasn't an object literal — the prop reaches no wrapper | **fails** (acknowledgeable) |\n| `doc-prop-undeclared` | A `@prop` tag with no reactive property behind it | fails only when checked against the class |\n\n`doc-prop-undeclared` is conditional because the two evidence sources make different claims. Read from source, \"no declaration in this file\" is routinely untrue for mixin-contributed props — failing a build on that fails it for a backlog only `runtime` can clear. Read from the class, \"no such property\" means a stale tag and a one-line fix. Strictness follows the evidence; either way the finding can be acknowledged, and `--report-json` lets you gate on it yourself today.\n\n## Diagnostics\n\nEverything prism can't act on is collected and printed once, grouped by a stable machine-readable `code`, at the end of the run.\n\n### `--strict`\n\nA caller that pipes stdout and only surfaces it when a step fails can't observe warnings; `--strict` turns them into an exit code. It fails on: a declared prop prism couldn't read, a generated wrapper that never registers its element or is missing a declared outlet or (for a form control) its accessor, a form-associated element prism couldn't wire, a prop name the framework reserves, doc drift, an exports-map subpath pointing at a missing file, a configured JSX file something else owns, a run that would overwrite output from a newer prism, config entries matching nothing, and any tag, event, or detail key prism had to drop.\n\nReport-only codes: `slot-name-collides-with-prop`, `children-without-default-slot`, `slot-none-contradicted`, the doc-type findings (`unusable-doc-type`, `unportable-doc-type`), `unknown-acknowledge-code` (an unrecognised acknowledge code must never block a rollback), and `doc-prop-undeclared` when read from source. Skipped `interactive` components and the misclassification list are deliberately never failures — both are routine on every run, and a check that can never pass gets removed. `--strict` is a no-op in watch mode.\n\n### `config.acknowledge`\n\nSome findings are correct and stay correct — `arc-column` really declares `key`, React really eats it, and the recommended fix (an alias) leaves the finding true forever. `acknowledge` records the decision so `--strict` can pass:\n\n```js\nacknowledge: [\n  {\n    code: 'framework-reserved',       // required\n    tag: 'arc-column',                // optional — omit to match every tag\n    prop: 'key',                      // optional — omit to match every prop\n    note: 'aliased as `field`; key still works in HTML/Vue/Svelte/Angular/Solid',\n  },\n],\n```\n\nEvery stated field must match; omitted fields are wildcards, so `{ code }` alone waives a whole class. Malformed entries throw at config load — including a narrowing field the finding never carries (e.g. `prop` against `props-from-under-reports`, which names its props in bulk).\n\nTwo deliberate properties: **waived findings still print**, under a `prism: accepted:` heading with your note — an allowlist that makes output disappear is how a regression hides behind an old decision. And **an entry matching nothing is itself a strict failure** (`unmatched-acknowledge`, which can't be acknowledged) — otherwise the list rots and quietly pre-waives whatever next appears under the same key. Entries naming a code this version doesn't emit are ignored and reported, not fatal, so a config written for a newer release can't block a rollback.\n\n### `--report-json`\n\nHuman headings carry the literal prefix `prism: warning:` (or `prism: accepted:`), but the wording after it changes between releases. Anything automated should consume the JSON instead:\n\n```json\n{\n  \"version\": 1,\n  \"strict\": true,\n  \"findings\": [\n    { \"code\": \"doc-drift\", \"tag\": \"arc-chip\", \"prop\": \"variant\", \"message\": \"…\", \"accepted\": false }\n  ],\n  \"accepted\": [\n    { \"code\": \"framework-reserved\", \"tag\": \"arc-column\", \"prop\": \"key\", \"note\": \"…\", \"accepted\": true }\n  ]\n}\n```\n\n`code` is the stable contract; `message` is for humans. A failure to write the report never fails the run.\n\n### Version stamping, and downgrades that revert\n\nEvery generated file opens with the version that wrote it:\n\n```\n// Auto-generated by @arclux/prism 3.0.0 — do not edit manually\n```\n\nRunning an older prism doesn't error — it *reverts*: prism rewrites every file it owns from whatever version is installed, and the only trace is a large diff in generated files nobody reads. With the stamp, a downgrade announces itself in the diff, and prism says so directly (`generator-downgrade`):\n\n- **Before writing anything**, a full run or a watcher's first pass scans the output tree. Finding files newer than the running version reports the downgrade — and under `--strict`, outside watch mode, prism refuses to generate at all: nothing is written, exit 1, both versions named.\n- **While writing**, single-file mode and watch rebuilds still report a newer stamp they overwrite — a witness rather than a guard, since the finding clears itself on the next run once the files carry the older stamp.\n\nBarrels are deliberately unstamped: they're appended to and pruned in place, so their contents accrue across versions and no single stamp would describe them. The sentinel treats the version as optional and matches any org name, so output written before 3.0.0 — or under prism's old scope — is still recognised and regenerated.\n\n### Stale output\n\nA component that becomes `interactive` stops producing HTML/CSS, and a deleted component stops producing everything. Prism reports both every run and removes them with `--prune`:\n\n```\nOrphaned output (no matching component):\n  stale: packages/html/css/ghost.css (run with --prune to remove)\n```\n\nOnly files carrying prism's generated header are ever removed. Barrels are reconciled after the sweep and unconditionally — a barrel exporting a file that's gone breaks the build of whoever imports it (`TS2307`), which is not something to leave behind a flag. What to drop is decided by asking the filesystem whether each specifier still resolves, never by naming convention, so barrels prism doesn't generate keep working.\n\n### Wrapper verification\n\nAfter writing each wrapper, prism reads it back and checks four things, because each failure is invisible from every other direction — the file compiles, builds, and does nothing:\n\n- **It registers its element** (`wrapper-missing-register`). A type-only import of the element class gets elided by TypeScript, taking `customElements.define` with it; the wrapper then renders an unupgraded element whose prop assignments read back fine as expandos.\n- **It carries an outlet for the component's content** (`wrapper-missing-slot`) — the children outlet in React/Preact/Solid/Angular whenever any slot is declared, and a per-named-slot outlet in Svelte/Vue.\n- **A form control registers its accessor** (`wrapper-missing-accessor`, Angular only).\n- **A component driven by methods hands back the element** (`wrapper-missing-handle`) — everything such a component can do sits on the far side of that handle.\n\nAll four fail `--strict`. A generated file that stops carrying its component's surface is a generator bug, so the check lives in the generator rather than in whatever repo consumes it.\n\n## CSS transformation\n\nThe `css` and `html` outputs convert shadow DOM CSS to light DOM equivalents:\n\n| Shadow DOM | Light DOM |\n|-----------|-----------|\n| `:host` | `.arc-button` |\n| `:host([variant=\"primary\"])` | `.arc-button[data-variant=\"primary\"]` |\n| `:host([disabled])` | `.arc-button[disabled]` |\n| `:host(:hover)` | `.arc-button:hover` |\n| `:host(::before)` | `.arc-button::before` |\n| `:host(:not([variant=\"primary\"]))` | `.arc-button:not([data-variant=\"primary\"])` |\n| `.btn` (inner class) | `.arc-button .btn` |\n| `svg` (bare element) | `.arc-button svg` |\n| `.icon, .label` (selector list) | `.arc-button .icon, .arc-button .label` |\n\nEvery selector in a rule is scoped — bare element, id, and attribute selectors included, and each item of a comma list — so inner styles never leak past the component. `@keyframes` step selectors and at-rule preludes are left untouched.\n\nThe inline HTML variant additionally resolves all `var(--token)` references from your design-tokens CSS and inlines computed styles onto elements; pseudo-state rules that can't be inlined go into a `<style>` block.\n\n## Safety guarantees\n\n- **Header check** — every generated file starts with an `Auto-generated by @arclux/prism — do not edit manually` sentinel. A file without it is assumed hand-written and is **never overwritten or deleted**.\n- **Append-only barrels** — per-component barrel updates only append; existing exports are never reordered or rewritten. The only removals are the reconciliation pass (specifiers that no longer resolve, names a target barrel stopped exporting, `barrelExclude` entries). Statements a formatter has wrapped across lines are read and rewritten in the shape they were found.\n\n## Programmatic API\n\nThe parser, CSS transform, and token resolver are package exports:\n\n```js\nimport { parseComponent } from '@arclux/prism/parser';\nimport { shadowToLight } from '@arclux/prism/css-transform';\nimport { loadTokenMap, resolveTokens } from '@arclux/prism/resolve-tokens';\n\nconst meta = parseComponent(source, filePath, 'arc');\nconst lightCSS = shadowToLight(meta.css, meta.tag);\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, code style, and PR guidelines.\n\n## License\n\n[MIT](LICENSE) &copy; Arclight Digital, LLC\n","readmeFilename":"README.md"}