{"id":14981784,"url":"https://github.com/genesiscommunitysuccess/custom-elements-lsp","last_synced_at":"2025-10-29T09:30:24.634Z","repository":{"id":187264843,"uuid":"636353110","full_name":"genesiscommunitysuccess/custom-elements-lsp","owner":"genesiscommunitysuccess","description":"Web component autocompletion plugins","archived":false,"fork":false,"pushed_at":"2024-02-14T13:52:11.000Z","size":13741,"stargazers_count":19,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-02T00:24:41.519Z","etag":null,"topics":["autocompletion","code-completion","custom-elements","diagnostics","intellij-plugin","intellisense","language-server-protocol","lsp","vim-plugin","vscode-plugin","web-components"],"latest_commit_sha":null,"homepage":"https://genesis.global/platform","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genesiscommunitysuccess.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-04T16:57:33.000Z","updated_at":"2024-06-26T04:51:53.000Z","dependencies_parsed_at":"2023-11-21T10:34:48.789Z","dependency_job_id":"1b53de37-fe1e-4079-894b-01f7bb345d53","html_url":"https://github.com/genesiscommunitysuccess/custom-elements-lsp","commit_stats":{"total_commits":104,"total_committers":4,"mean_commits":26.0,"dds":"0.27884615384615385","last_synced_commit":"3bbae345420f513fc3ebcc6d11b22f5f427db20e"},"previous_names":["genesiscommunitysuccess/custom-elements-lsp"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genesiscommunitysuccess%2Fcustom-elements-lsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genesiscommunitysuccess%2Fcustom-elements-lsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genesiscommunitysuccess%2Fcustom-elements-lsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genesiscommunitysuccess%2Fcustom-elements-lsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genesiscommunitysuccess","download_url":"https://codeload.github.com/genesiscommunitysuccess/custom-elements-lsp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238795477,"owners_count":19531753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autocompletion","code-completion","custom-elements","diagnostics","intellij-plugin","intellisense","language-server-protocol","lsp","vim-plugin","vscode-plugin","web-components"],"created_at":"2024-09-24T14:04:15.046Z","updated_at":"2025-10-29T09:30:18.566Z","avatar_url":"https://github.com/genesiscommunitysuccess.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"The [Genesis Global](https://genesis.global) Community Success initiative is committed to open-sourcing select technologies that we believe the open-source community would benefit from.\n\n# Custom Elements Monorepo\n\nThis repository contains multiple packages which can be used to work with [Custom Elements](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements).\n\n| Editor | Completions | Diagnostics | Quickinfo | Info |\n|---|---|---|---|---|\n| VSCode | :white_check_mark: | :white_check_mark: | :white_check_mark: | Requires configuration to use local tsserver instance. [Setup](./packages/core/custom-elements-lsp/README.md#vscode) |\n| Vim/NeoVim | :white_check_mark: | :white_check_mark: | :white_check_mark: | Requires configuration as an LSP client for TypeScript. [Setup](./packages/core/custom-elements-lsp/README.md#nvim) |\n| JetBrains (IntelliJ/Webstorm/etc...) | :heavy_minus_sign: | :white_check_mark: | :x: | JetBrains IDEs [currently](https://youtrack.jetbrains.com/issue/WEB-62815/Ability-to-use-tsserver-to-implement-all-LSP-functionality-from-TypeScript) only have partial support as an LSP client. [Setup](./packages/core/custom-elements-lsp/README.md#jetbrains) |\n\nAny editor/IDE configured as an LSP client using the instance of tsserver which this plugin is installed to _should_ be compatible.\n\n## Quickstart Example\n\n**Adding the LSP to your project takes less than 5 minutes.** Follow along with our [Setup Walkthrough Video](https://www.loom.com/share/3dfdb245cbfc4fc1a166df8b19c123a5?sid=c478ca86-f0ba-4cfe-af9d-7ee6d30e26c6), try our pre-setup [Example Project](https://github.com/genesiscommunitysuccess/cep-setup-example), and see the [Changeset](https://github.com/genesiscommunitysuccess/cep-setup-example/pull/2/files) required to enable the LSP in the example project.\n\n## Packages\n\n### Custom Elements LSP Plugin\n[![NPM version](https://img.shields.io/npm/v/@genesiscommunitysuccess/custom-elements-lsp)](https://www.npmjs.com/package/@genesiscommunitysuccess/custom-elements-lsp) [![License](https://img.shields.io/github/license/genesiscommunitysuccess/custom-elements-lsp)](https://github.com/genesiscommunitysuccess/custom-elements-lsp/blob/master/LICENSE)\n\n```shell\nnpm i @genesiscommunitysuccess/custom-elements-lsp --save-dev\n```\n\nThe [CEP](./packages/core/custom-elements-lsp/README.md) is the primary package of the monorepo, and is a plugin for the TypeScript language server which adds in support for custom elements.\n\n\u003cimg src=\"./docs/custom-elements-lsp/vim_tagname_quicklook.gif\" alt=\"Element Intellisense in NeoVim\"\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eShow more examples\u003c/summary\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"./docs/custom-elements-lsp/base_ce_completion.gif\" alt=\"Custom Element Completion\"\u003e\n    \u003cimg src=\"./docs/custom-elements-lsp/vim_ce.gif\" alt=\"Custom Element in NeoVim\"\u003e\n    \u003cimg src=\"./docs/custom-elements-lsp/base_jump_to_definition.gif\" alt=\"Jump to Definition\"\u003e\n\u003c/details\u003e\n\n### CEP FAST Plugin\n\n[![NPM version](https://img.shields.io/npm/v/@genesiscommunitysuccess/cep-fast-plugin)](https://www.npmjs.com/package/@genesiscommunitysuccess/cep-fast-plugin) [![License](https://img.shields.io/github/license/genesiscommunitysuccess/custom-elements-lsp)](https://github.com/genesiscommunitysuccess/custom-elements-lsp/blob/master/LICENSE)\n\n```shell\nnpm i @genesiscommunitysuccess/cep-fast-plugin --save-dev\n```\n\nThe [FAST Plugin](./packages/core/cep-fast-plugin/README.md) for the CEP enables https://www.fast.design/ enhancements. Examples of this is using the `:prop` syntax for property bindings, and `?attr` syntax for boolean attributes.\n\n\u003cimg src=\"./docs/cep-fast-plugin/fast_property_binding.gif\" alt=\"Property Binding Autocompletion\"\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eShow more examples\u003c/summary\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"./docs/cep-fast-plugin/fast_boolean_attr_binding.gif\" alt=\"Boolean Attribute Binding Autocompletion\"\u003e\n    \u003cimg src=\"./docs/cep-fast-plugin/fast_event_binding.gif\" alt=\"Event Binding Autocompletion\"\u003e\n    \u003cimg src=\"./docs/cep-fast-plugin/fast_quicklook.gif\" alt=\"Quickinfo Extended Functionality\"\u003e\n\u003c/details\u003e\n\n### Analyzer Import Alias Plugin\n\n[![NPM version](https://img.shields.io/npm/v/@genesiscommunitysuccess/analyzer-import-alias-plugin)](https://www.npmjs.com/package/@genesiscommunitysuccess/analyzer-import-alias-plugin) [![License](https://img.shields.io/github/license/genesiscommunitysuccess/custom-elements-lsp)](https://github.com/genesiscommunitysuccess/custom-elements-lsp/blob/master/LICENSE)\n\n```shell\nnpm i @genesiscommunitysuccess/analyzer-import-alias-plugin --save-dev\n```\n\nThe [Analyzer Plugin](./packages/core/analyzer-import-alias-plugin/README.md) is a plugin for the [custom elements analyzer](https://custom-elements-manifest.open-wc.org/analyzer/getting-started/) which enhances its support for import aliases.\n\n### Showcase Example\n\nThe private [showcase example](./packages/showcase/example/README.md) application is a test harness application built with TypeScript and MS Fast and is used to test out the Custom Elements Plugin (CEP) locally inside the monorepo.\n\n### Showcase Example Library\n\nThe private [showcase example library](./packages/showcase/example-lib/README.md) is an example library of web components. It can be used as a test harness for testing the Custom Elements Plugin (CEP) to demonstrate that it works with library code, and it is imported into the showcase example app to demonstrate that the CEP works with imported code.\n\n## Contributing\n\nThanks for taking interest in contributing to the Custom Elements Plugin. See [the contributing guidelines](./CONTRIBUTING.md).\n\n## License\n\nSee [here](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenesiscommunitysuccess%2Fcustom-elements-lsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenesiscommunitysuccess%2Fcustom-elements-lsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenesiscommunitysuccess%2Fcustom-elements-lsp/lists"}