{"_id":"@canonical/typescript-config-webcomponents","_rev":"7-d382feaf9ad8d79f86f9a691344c1ad2","name":"@canonical/typescript-config-webcomponents","dist-tags":{"latest":"0.17.1"},"versions":{"0.17.1":{"name":"@canonical/typescript-config-webcomponents","version":"0.17.1","author":{"name":"Canonical Webteam","email":"webteam@canonical.com"},"license":"LGPL-3.0","_id":"@canonical/typescript-config-webcomponents@0.17.1","maintainers":[{"name":"ilayda21","email":"ilayda.cavusoglupars@canonical.com"},{"name":"frankban","email":"frankban@gmail.com"},{"name":"huwshimi","email":"huw@ikmail.com"},{"name":"anthonydillon","email":"me@anthonydillon.com"},{"name":"steverydz","email":"steverydz@gmail.com"},{"name":"amylily1011","email":"amy.lily@canonical.com"},{"name":"bartaz","email":"bartek.szopka@canonical.com"},{"name":"jpmartinspt","email":"joao.figueiredo.martins@canonical.com"},{"name":"petesfrench","email":"peterfrench94@gmail.com"},{"name":"mariadias143","email":"marianovadias@gmail.com"},{"name":"jmuzina","email":"jmuzina@pm.me"},{"name":"mtruj","email":"mariapaula.trujillo@canonical.com"},{"name":"edlerd","email":"david.edler@canonical.com"},{"name":"canonical-organization","email":"is-admin@canonical.com"},{"name":"edisile-canonical","email":"eduard.manta@canonical.com"},{"name":"steciuk-canonical","email":"adam.steciuk@canonical.com"},{"name":"ad.vl","email":"adrian.villa.g@gmail.com"},{"name":"engr-ali","email":"its.muhammad.ali.mughal@gmail.com"},{"name":"ando.gq","email":"tom@ando.sh"},{"name":"ninfa_jeon","email":"urvashi.sharma271099@gmail.com"},{"name":"ndv99","email":"n.devilliers1999@gmail.com"},{"name":"goulin-canonical","email":"goulin.khoge@canonical.com"},{"name":"immortalcodes","email":"21112002mj@gmail.com"},{"name":"alvaromateo","email":"alvaro.mateoalvarez@canonical.com"},{"name":"onibenjo-canonical","email":"benjaminaderopo.oni@canonical.com"}],"homepage":"https://github.com/canonical/pragma#readme","bugs":{"url":"https://github.com/canonical/pragma/issues"},"dist":{"shasum":"a709296f83252854a1f68c1e51c66bbca5037e89","tarball":"https://registry.npmjs.org/@canonical/typescript-config-webcomponents/-/typescript-config-webcomponents-0.17.1.tgz","fileCount":5,"integrity":"sha512-wSaN59fXXkRQ3SThY9u1oEr/+9649iBQUtnlReI32BvsF65EBdWk/Crs7IgS5uuF0g6PS7YzJkt1auHipTAbag==","signatures":[{"sig":"MEQCIBGMAKmpQOdwJaavbFcluhIspIkW0I7lWLrhkfv3vj9LAiAy3n9Vwa2J57zyfK8xvFzw8tQzSj1eXr6/+byS1LxPYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4005},"main":"tsconfig.json","gitHead":"00764d675c360ef172222861971916aa5e261310","scripts":{"check":"bun run check:biome","check:fix":"bun run check:biome:fix","check:biome":"biome check","check:biome:fix":"biome check --write"},"_npmUser":{"name":"ad.vl","email":"adrian.villa.g@gmail.com"},"repository":{"url":"git+https://github.com/canonical/pragma.git","type":"git"},"_npmVersion":"11.6.2","description":"Canonical's standard TypeScript configuration for Web Components projects","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@canonical/typescript-config":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@biomejs/biome":"2.3.14","@canonical/biome-config":"^0.17.1"},"peerDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/typescript-config-webcomponents_0.17.1_1772984497096_0.6055880610318771","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-08T15:41:36.988Z","modified":"2026-09-09T10:47:07.463Z","0.17.1":"2026-03-08T15:41:37.234Z"},"bugs":{"url":"https://github.com/canonical/pragma/issues"},"author":{"name":"Canonical Webteam","email":"webteam@canonical.com"},"license":"LGPL-3.0","homepage":"https://github.com/canonical/pragma#readme","repository":{"url":"git+https://github.com/canonical/pragma.git","type":"git"},"description":"Canonical's standard TypeScript configuration for Web Components projects","maintainers":[{"email":"ilayda.cavusoglupars@canonical.com","name":"ilayda21"},{"email":"frankban@gmail.com","name":"frankban"},{"email":"huw@ikmail.com","name":"huwshimi"},{"email":"me@anthonydillon.com","name":"anthonydillon"},{"email":"steverydz@gmail.com","name":"steverydz"},{"email":"bartek.szopka@canonical.com","name":"bartaz"},{"email":"joao.figueiredo.martins@canonical.com","name":"jpmartinspt"},{"email":"peterfrench94@gmail.com","name":"petesfrench"},{"email":"jmuzina@pm.me","name":"jmuzina"},{"email":"mariapaula.trujillo@canonical.com","name":"mtruj"},{"email":"david.edler@canonical.com","name":"edlerd"},{"email":"ardavan.behnia@canonical.com","name":"abehnia"},{"email":"is-admin@canonical.com","name":"canonical-organization"},{"email":"eduard.manta@canonical.com","name":"edisile-canonical"},{"email":"adam.steciuk@canonical.com","name":"steciuk-canonical"},{"email":"abbie.sims@canonical.com","name":"abbiesims"},{"email":"atakan99saglam@gmail.com","name":"ataku_b"},{"email":"adrian.villa.g@gmail.com","name":"ad.vl"},{"email":"its.muhammad.ali.mughal@gmail.com","name":"engr-ali"},{"email":"urvashi.sharma271099@gmail.com","name":"ninfa_jeon"},{"email":"n.devilliers1999@gmail.com","name":"ndv99"},{"email":"goulin.khoge@canonical.com","name":"goulin-canonical"},{"email":"21112002mj@gmail.com","name":"immortalcodes"},{"email":"alvaro.mateoalvarez@canonical.com","name":"alvaromateo"},{"email":"benjaminaderopo.oni@canonical.com","name":"onibenjo-canonical"}],"readme":"# Canonical Web Components TypeScript Configuration\n\nThis package provides a central TypeScript configuration for Canonical's Web Components projects using [Lit](https://lit.dev/).\n\nIt extends the [base configuration](https://www.npmjs.com/package/@canonical/typescript-config) and adds the settings required for Lit's decorator-based component authoring.\n\n## Getting Started\n\n1. Install TypeScript: `bun add -d typescript`\n2. Install this configuration: `bun add -d @canonical/typescript-config-webcomponents`\n3. Create a `tsconfig.json` in the root of your project and extend it:\n\n```json\n{\n  \"extends\": \"@canonical/typescript-config-webcomponents\"\n}\n```\n\n## Configuration\n\nThis configuration enables the following behaviour on top of the base config:\n\n1. [`DOM` library](https://www.typescriptlang.org/tsconfig/#lib): Adds the `DOM` library so browser and custom-element APIs are available.\n2. [`experimentalDecorators`](https://www.typescriptlang.org/tsconfig/#experimentalDecorators): Enables TypeScript's legacy decorator syntax, required by Lit's `@customElement`, `@property`, and related decorators.\n3. [`useDefineForClassFields: false`](https://www.typescriptlang.org/tsconfig/#useDefineForClassFields): Disables the ECMAScript-standard class field semantics that would break Lit's reactive property system. When set to `true` (the default for modern targets), class fields are defined with `Object.defineProperty`, which prevents Lit's property accessors from being installed correctly.\n","readmeFilename":"README.md"}