{"_id":"@addasoft/skeleton-component-generator","_rev":"8-d2dd19195c71321e93fcb3a4bed1a0a3","name":"@addasoft/skeleton-component-generator","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@addasoft/skeleton-component-generator","version":"1.0.0","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.0","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"119ece715e774b57b9ab2dba9e3fdbb54f27f3df","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.0.tgz","fileCount":5,"integrity":"sha512-eT/g1CkCB8uE5OHItszFG0ZEuTIZgrO+B/jKk1lMQmLORCqxtgr2ku+z4SsZ/Xqk9nS9VvxGtURfXPNlgnkokQ==","signatures":[{"sig":"MEQCICVKqQ29dFMbETvIx0rEqAMIrIyaKXjwGJdFXqfraPTyAiB7Zex8cmgMiKrIvlubboac0npbeR+V6FA58JCzuJIrRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8911},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","gitHead":"81e72f4121680c4ced4771b9a611ad819981c6d2","private":false,"scripts":{"generate":"node index.js --"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4","prettier":"^3.3.3"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.0_1722261103105_0.605694096248329","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@addasoft/skeleton-component-generator","version":"1.0.1","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.1","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"48b3444fc029c06fd7cc4b7f29195d92f0c1ca6f","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.1.tgz","fileCount":5,"integrity":"sha512-qypv/Gsbl+ScuImnPJy+J/vJETyZ1+if42vvDaTgQytAqo5HRWzkAap6w3Ohj79H/fiPw9mP/SEbhnPjXmbAyQ==","signatures":[{"sig":"MEUCIEzrGmqzSIUTJPkaERe1oGqsLR/9HCUQqv1Mkj+KdZNxAiEAwEpqmeF1hlAjCgM5sfKyb3qb3smVZxlIMcyoEwflr2I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8644},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","gitHead":"d016dfa84a8f5eaf5a43c905a32fe72e95fd3b7a","private":false,"scripts":{"generate":"node index.js --"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.16.0","dependencies":{"prettier":"^3.3.3","@addasoft/skeleton-component-generator":"^1.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.1_1722261755109_0.8569898735751451","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@addasoft/skeleton-component-generator","version":"1.0.2","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.2","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"0152a4260e0e703ed65b92407b4d9b0c53b36d04","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.2.tgz","fileCount":5,"integrity":"sha512-k107eiqMw8pmdb+s/waKrildOA0hD1hk9UcLmmNCjO7R4BklOja8DaN7y3dnFCfFaDc2OmL7UbQvegDFpcp0YQ==","signatures":[{"sig":"MEUCIQC6gZVRx+dDyFS7wA3r+jMoHLWe0FoOfVUu2Y+zInD65AIgL9mLr40J7Vx+buSh2fOCE9JikzmTK9ChqairtDmc7eg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9042},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","gitHead":"54f9d5efc9cfca9b85bb64da8fb35b96c7389e93","private":false,"scripts":{"generate":"node index.js"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.16.0","dependencies":{"prettier":"^3.3.3","commander":"^12.1.0","@addasoft/skeleton-component-generator":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.2_1722264107609_0.4841291897592659","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@addasoft/skeleton-component-generator","version":"1.0.3","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.3","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"3fa4ea0de3cb9d33095a50f6850212bfc1d965d5","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.3.tgz","fileCount":5,"integrity":"sha512-JDZTQvPbuQ4kHnnwcO3eKveJ+uGmDxpwOsogw9TjQlMGQvo6mlaLz/yYnhnzk06mv5Z3rlt4P6EaVtwqqB3lfw==","signatures":[{"sig":"MEUCIQDYNxLH/uhFkJGevbN0xMo7fw1cPi5NCMai6m1XCTi+4AIgR14mhfpTUrmDqgaPMGDfHJDeuyODy8/kLHPPOhy6q5s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9019},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","gitHead":"2cf201489daeea7679aabd12a5d103e518b08a9f","private":false,"scripts":{"generate":"node index.js"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.16.0","dependencies":{"prettier":"^3.3.3","commander":"^12.1.0","@addasoft/skeleton-component-generator":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.3_1722264212270_0.061127252590950754","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@addasoft/skeleton-component-generator","version":"1.0.4","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.4","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"b3466a540c235e52bfa6cd1afcb6eebf50ed2a1d","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.4.tgz","fileCount":5,"integrity":"sha512-rLB+WY5T4+/PywQqeuLkr5C5Fbq1PIlC3hP+DiNl14HE3aGgV/V2D3VivD610dg3SNwutdoQqbWFF3jCAkwCEQ==","signatures":[{"sig":"MEQCIBAJ0IxmPwkk5T71cyGgrVfBKmg9Ey0K5o7BGjVGOFT1AiB6AtXemVJIpiKEFFN3PVToNNwY5wjYMoNnOpS4ifvBaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@addasoft%2fskeleton-component-generator@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9019},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","gitHead":"a3db77d3dfaab14f19b7ce618ca4ccb6e87c4012","private":false,"scripts":{"generate":"node index.js"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.7.0","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.15.1","dependencies":{"prettier":"^3.3.3","commander":"^12.1.0","@addasoft/skeleton-component-generator":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.4_1722332915779_0.9035084596515222","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@addasoft/skeleton-component-generator","version":"1.0.5","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.5","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"a103b49e56a0db1572a2fadfb4c9478e4bd0e769","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.5.tgz","fileCount":5,"integrity":"sha512-uBuQo+kxxI78j1fa5KRpbDOmdCJp/KB7+hu5Rl42liQFwzCGH5nMkcUBbN1sw6bn872QGQrMLgQoWRiddyqjyg==","signatures":[{"sig":"MEUCIQCjJJ9QGJoYzEn9hx2HIwKdE8aBPmpY3vTQ/v4rlksBPAIgNkJYJSEC5sCkaATYHNtVkA0+WbuXGXP4DNTjBBuCr8Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@addasoft%2fskeleton-component-generator@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14165},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","engines":{"node":"20.16.0"},"gitHead":"12cf9600947576ecc7c1785c080d37b701e95e7b","private":false,"scripts":{"generate":"node index.js"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.7.0","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.15.1","dependencies":{"prettier":"^3.3.3","commander":"^12.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.5_1722501345059_0.6856853539424439","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@addasoft/skeleton-component-generator","version":"1.0.6","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.6","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"997850f983adc2c8cfa8337912d0c4b446356850","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.6.tgz","fileCount":5,"integrity":"sha512-fpGXL7ivmsBSWyb6kkcVsReRt/yZgpqA04SmAFYdaNXuGjzJOaYUMFnlvOz6IWrGB9VyKBeKnCF7x2p+BKUNpA==","signatures":[{"sig":"MEQCIHAMu7qR57BhTj4OTO/4ISpQgKAJ9UGTlQ9+/8SlX+WEAiA67IGX4Uc69q1Lh7UcGyqpRBYU0YsetxpJvd5THJy4xA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@addasoft%2fskeleton-component-generator@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14762},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","engines":{"node":"^20.16.0"},"gitHead":"bcf740338e620b99238b143fdb887d2dc9a59c34","private":false,"scripts":{"format":"prettier \"**/*.js\" \"**/*.ts\" --write --ignore-path .gitignore","generate":"node index.js"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"prettier":{"arrowParens":"avoid","singleQuote":true},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.8.1","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.16.0","dependencies":{"prettier":"^3.3.3","commander":"^12.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.6_1722590554677_0.4301155912506167","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@addasoft/skeleton-component-generator","version":"1.0.7","keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","_id":"@addasoft/skeleton-component-generator@1.0.7","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"bin":{"skeleton-component-generator":"index.js"},"dist":{"shasum":"dc90ace6e236f730757d481e0510ac74aa8b4092","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.0.7.tgz","fileCount":5,"integrity":"sha512-UYbE8BXzmP9EmOcXhsRYckw6sgqEnGwnZVI1oW1z8nxmqD/KYBQ6ColQEFp4P29YEyUuTZoUiWryBccRElmPIg==","signatures":[{"sig":"MEUCICfSl4P12NF+DEnNJ3WmP9V4R9t0EaV7ud1sr/Ivq+xGAiEAx5G98EO+bNWo/rW5WfJXhy6fxfQNOZlBwX4alew74dk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@addasoft%2fskeleton-component-generator@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14880},"main":"index.js","type":"module","volta":{"npm":"10.8.2","node":"20.16.0"},"module":"index.js","engines":{"node":"^20.16.0"},"gitHead":"7987e3c5eb78b9e6c9b4d61cd5da77df24873f8c","private":false,"scripts":{"format":"prettier \"**/*.js\" \"**/*.ts\" --write --ignore-path .gitignore","generate":"node index.js"},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"prettier":{"arrowParens":"avoid","singleQuote":true},"repository":{"url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git","type":"git"},"_npmVersion":"10.8.1","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","directories":{},"_nodeVersion":"20.16.0","dependencies":{"prettier":"^3.3.3","commander":"^12.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"lit":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/skeleton-component-generator_1.0.7_1723201820870_0.3803676182619218","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@addasoft/skeleton-component-generator","version":"1.1.0","description":"Create skeleton web components using Lit based on given Custom Elements Manifest","main":"index.js","type":"module","module":"index.js","private":false,"scripts":{"format":"prettier \"**/*.js\" \"**/*.ts\" --write --ignore-path .gitignore","generate":"node index.js"},"bin":{"skeleton-component-generator":"index.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git"},"keywords":["lit","CEM","custom-elements","api-first"],"author":{"name":"Lucien Immink"},"license":"MIT","peerDependencies":{"lit":"^3.1.4","tslib":"^2.6.3"},"volta":{"node":"20.16.0","npm":"10.8.2"},"engines":{"node":"^20.16.0"},"dependencies":{"commander":"^12.1.0","prettier":"^3.3.3"},"prettier":{"singleQuote":true,"arrowParens":"avoid"},"_id":"@addasoft/skeleton-component-generator@1.1.0","gitHead":"f46a6e4037cfdb0848ace8f049abc5c7207419fe","bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-67C5I39y3g4W2zfUxu6Vb/zHr1ta19U51NiFLGrxRUpD+JiCOMecszh7wld7fB16lcIgFmHlARFa+tllJ5zVMw==","shasum":"f332a9a91c52e45c9aaef24a4936d62370019298","tarball":"https://registry.npmjs.org/@addasoft/skeleton-component-generator/-/skeleton-component-generator-1.1.0.tgz","fileCount":5,"unpackedSize":19813,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@addasoft%2fskeleton-component-generator@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD68B2deENJ/8wPCn8AcioeOIAsT03lwEfd+8oHAHuGpwIgBbF4J4GboPm78o7qVvznoHMO43EWZVWcf6GRcj+mUKM="}]},"_npmUser":{"name":"arielext","email":"lucien@arielext.org"},"directories":{},"maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/skeleton-component-generator_1.1.0_1723457582382_0.3848533949821935"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-29T13:51:42.946Z","modified":"2024-08-12T10:13:02.940Z","1.0.0":"2024-07-29T13:51:43.268Z","1.0.1":"2024-07-29T14:02:35.259Z","1.0.2":"2024-07-29T14:41:47.747Z","1.0.3":"2024-07-29T14:43:32.428Z","1.0.4":"2024-07-30T09:48:35.938Z","1.0.5":"2024-08-01T08:35:45.204Z","1.0.6":"2024-08-02T09:22:34.864Z","1.0.7":"2024-08-09T11:10:21.044Z","1.1.0":"2024-08-12T10:13:02.543Z"},"bugs":{"url":"https://github.com/lucienimmink/skeleton-component-generator/issues"},"author":{"name":"Lucien Immink"},"license":"MIT","homepage":"https://github.com/lucienimmink/skeleton-component-generator#readme","keywords":["lit","CEM","custom-elements","api-first"],"repository":{"type":"git","url":"git+ssh://git@github.com/lucienimmink/skeleton-component-generator.git"},"description":"Create skeleton web components using Lit based on given Custom Elements Manifest","maintainers":[{"name":"arielext","email":"lucien@arielext.org"}],"readme":"# @addasoft/skeleton-component-generator\n\n> Create skeleton web components using Lit based on given Custom Elements Manifest.\n\n## Install\n\n```bash\nnpm install @addasoft/skeleton-component-generator\n```\n\nProject has a dependency `prettier`.\n\n## Usage\n\n### Specify input and output\n\n`skeleton-component-generator --cem=[path to cem] --gen=[path to output generated files]`.\n\n### Speficy custom templates\n\nAdded in `1.1.0`. Ability to override the template(s) that are used to generate parts of the skeleton class. Use the parameter `--templates <path>` to point to a specific directory containing the overrides.\nIf no override for a template is found in the given path the internal default will be used instead. Templates need to include a `render()` function that returns the output of the template. The `render()` function accepts parameters as defined in the `customElement` template. By default the parameter points to the object with the same name in CEM. So for example the `slots` template uses the `slots` object in CEM as the parameter.\n\n#### Example\n\n```javascript\nexport const render = slots => {\n  return `\n    ${\n      slots\n        ? `\n          <h2>Slots</h2>\n          <ul>\n          ${slots\n            .map(slot => {\n              return `<li>Slot ${slot.name} (${slot.description}):\n                  <slot name=\"${slot.name}\"></slot>\n              </li>\\n`;\n            })\n            .join('')}\n          </ul>  \n      `\n        : ``\n    }\n    `;\n};\n```\n\nIf you override the `customElement` template (the root template) you need to include the list of available templates. By overriding the `customElement` template you can also use different Custom Elements libraries instead of Lit, you are in full control.\n\n#### Example\n\n```javascript\nexport const render = (\n  { description, name, tagName, cssProperties, attributes, events, slots },\n  { classComment, cssPropertiesMembers, attributeMembers, eventsMembers, nameRenderer, descriptionRenderer, cssPropertiesRenderer, attributesRenderer, eventsRenderer, slotRenderer },\n) => {\n  return `\n    import { html, css, LitElement } from 'lit';\n    import { customElement, property } from 'lit/decorators.js';\n\n    ${classComment({ cssProperties, description, slots })}\n\n    @customElement('${tagName}')\n    export class ${name} extends LitElement {\n        ${cssPropertiesMembers(cssProperties)}\n        ${attributeMembers(attributes)}\n        ${eventsMembers(events)}\n\n        render() {\n          return html\\`\n          ${nameRenderer(name, tagName)}\n          ${descriptionRenderer(description)}\n          ${cssPropertiesRenderer(cssProperties)}\n          ${attributesRenderer(attributes)}\n          ${eventsRenderer(events)}\n          ${slotRenderer(slots)}\n          \\`\n      }\n    }\n  `;\n};\n```\n\n### Available templates\n\n- customElement - base template. accepts &lt;declaration&gt; and &lt;templates&gt;\n- attributeMembers - template to render the attributes as a list. accepts &lt;attributes&gt;\n- attributesRenderer - template for showing the attributes. accepts &lt;attributes&gt;\n- classComment - template to render comments at the top of the class. accepts &lt;declaration&gt;\n- cssPropertiesMembers - template to render the CSS properties. accepts &lt;cssProperties&gt;\n- cssPropertiesRenderer - template to render the CSS properties as a list. accepts &lt;cssProperties&gt;\n- descriptionRenderer - template to render the description. accepts &lt;description&gt;\n- eventsMembers - template to create a function that triggers the event. accepts &lt;events&gt;\n- eventsRenderer - template to render buttons to trigger the event functions. accepts &lt;events&gt;\n- nameRenderer - template to render the class name and custom element name. accepts &lt;name&gt; and &lt;tagName&gt;\n- slotRenderer - template to render a slot. accepts &lt;slots&gt;\n\n## Example\n\n### CEM\n\n```json\n{\n  \"schemaVersion\": \"1.0.0\",\n  \"readme\": \"\",\n  \"modules\": [\n    {\n      \"kind\": \"javascript-module\",\n      \"path\": \"components/hello-world.ts\",\n      \"declarations\": [\n        {\n          \"kind\": \"class\",\n          \"description\": \"Hello generated world! Click for a gift or a bomb\",\n          \"name\": \"HelloWorld\",\n          \"cssProperties\": [\n            {\n              \"description\": \"Controls the text colour\",\n              \"name\": \"--text-color\",\n              \"default\": \"black\"\n            },\n            {\n              \"description\": \"Controls the background colour\",\n              \"name\": \"--background-color\",\n              \"default\": \"red\"\n            }\n          ],\n          \"members\": [\n            {\n              \"kind\": \"field\",\n              \"name\": \"type\",\n              \"type\": {\n                \"text\": \"string\"\n              },\n              \"default\": \"\\\"wonderful\\\"\",\n              \"description\": \"What type is the world today?\",\n              \"attribute\": \"type\"\n            },\n            {\n              \"kind\": \"method\",\n              \"name\": \"eventFunctionGift\",\n              \"privacy\": \"private\",\n              \"description\": \"Write function that dispatches the event Gift\"\n            },\n            {\n              \"kind\": \"method\",\n              \"name\": \"eventFunctionBomb\",\n              \"privacy\": \"private\",\n              \"description\": \"Write function that dispatches the event Bomb\"\n            }\n          ],\n          \"events\": [\n            {\n              \"name\": \"Gift\",\n              \"type\": {\n                \"text\": \"Event\"\n              },\n              \"description\": \"gift - I'm bearing a gift\"\n            },\n            {\n              \"name\": \"Bomb\",\n              \"type\": {\n                \"text\": \"Event\"\n              },\n              \"description\": \"bomb - This was a mistake...\"\n            }\n          ],\n          \"attributes\": [\n            {\n              \"name\": \"type\",\n              \"type\": {\n                \"text\": \"string\"\n              },\n              \"default\": \"\\\"wonderful\\\"\",\n              \"description\": \"What type is the world today?\",\n              \"fieldName\": \"type\"\n            }\n          ],\n          \"superclass\": {\n            \"name\": \"LitElement\",\n            \"package\": \"lit\"\n          },\n          \"tagName\": \"hello-world\",\n          \"customElement\": true\n        }\n      ],\n      \"exports\": [\n        {\n          \"kind\": \"js\",\n          \"name\": \"HelloWorld\",\n          \"declaration\": {\n            \"name\": \"HelloWorld\",\n            \"module\": \"components/hello-world.ts\"\n          }\n        },\n        {\n          \"kind\": \"custom-element-definition\",\n          \"name\": \"hello-world\",\n          \"declaration\": {\n            \"name\": \"HelloWorld\",\n            \"module\": \"components/hello-world.ts\"\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\n### Generated lit element\n\n```typescript\nimport { html, css, LitElement } from \"lit\"\nimport { customElement, property } from \"lit/decorators.js\"\n\n/**\n* Hello generated world! Click for a gift or a bomb\n*\n\n* @cssprop [--text-color=black] - Controls the text colour\n* @cssprop [--background-color=red] - Controls the background colour\n\n*/\n\n@customElement(\"hello-world\")\nexport class HelloWorld extends LitElement {\n  static styles = css`\n    h1,\n    h2 {\n      margin: 0;\n    }\n    ul {\n      margin: 0;\n    }\n    :host {\n      --text-color: var(--text-color, black);\n      --background-color: var(--background-color, red);\n    }\n  `\n\n  /** What type is the world today? */\n  @property({ type: String, attribute: \"type\" })\n  type = \"wonderful\"\n\n  /** Write function that dispatches the event Gift */\n  private eventFunctionGift() {\n    /** @type {Event} gift - I'm bearing a gift */\n    this.dispatchEvent(new Event(\"Gift\"))\n  }\n\n  /** Write function that dispatches the event Bomb */\n  private eventFunctionBomb() {\n    /** @type {Event} bomb - This was a mistake... */\n    this.dispatchEvent(new Event(\"Bomb\"))\n  }\n\n  render() {\n    return html`\n      <h1>HelloWorld - &lt;hello-world&gt;&lt;/hello-world&gt;</h1>\n\n      <p>Hello generated world! Click for a gift or a bomb</p>\n\n      <h2>CSS variables</h2>\n      <ul>\n        <li>\n          <span style=\"color: var(--text-color, black)\"\n            >current text-color: --text-color default value: black</span\n          >\n        </li>\n        <li>\n          <span style=\"color: var(--background-color, red)\"\n            >current text-color: --background-color default value: red</span\n          >\n        </li>\n      </ul>\n\n      <h2>Attributes</h2>\n      <ul>\n        <li>type = ${this.type}</li>\n      </ul>\n\n      <h2>Events</h2>\n      <ul>\n        <li><button @click=${this.eventFunctionGift}>trigger Gift</button></li>\n        <li><button @click=${this.eventFunctionBomb}>trigger Bomb</button></li>\n      </ul>\n    `\n  }\n}\n```\n","readmeFilename":"README.md"}