{"id":16202317,"url":"https://github.com/panoply/vscode-spx","last_synced_at":"2025-04-07T18:55:55.211Z","repository":{"id":228721605,"uuid":"774495763","full_name":"panoply/vscode-spx","owner":"panoply","description":"VSCode support for SPX projects","archived":false,"fork":false,"pushed_at":"2024-09-13T14:26:24.000Z","size":9598,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T05:00:07.826Z","etag":null,"topics":["spx","vscode-extensions"],"latest_commit_sha":null,"homepage":"https://spx.js.org","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/panoply.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-19T16:42:58.000Z","updated_at":"2024-09-13T14:26:27.000Z","dependencies_parsed_at":"2024-03-20T06:28:03.177Z","dependency_job_id":"d3ccb9ce-cd40-48fe-87d5-c6fd6b01d0e0","html_url":"https://github.com/panoply/vscode-spx","commit_stats":null,"previous_names":["panoply/vscode-spx"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panoply%2Fvscode-spx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panoply%2Fvscode-spx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panoply%2Fvscode-spx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panoply%2Fvscode-spx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/panoply","download_url":"https://codeload.github.com/panoply/vscode-spx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247713312,"owners_count":20983683,"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":["spx","vscode-extensions"],"created_at":"2024-10-10T09:46:55.960Z","updated_at":"2025-04-07T18:55:55.180Z","avatar_url":"https://github.com/panoply.png","language":"TypeScript","funding_links":["https://www.paypal.me/paynicos"],"categories":[],"sub_categories":[],"readme":"# vscode-spx\n\nLanguage and intelliSense support for the [SPX](https://spx.js.org) JavaScript/TypeScript framework. Provides syntax highlighting, directive completions and various enhancements those leveraging SPX in their projects.\n\n### Key Features\n\n- Syntax Highlighting for `spx-*` annotations in markup.\n- Syntax Highlighting for `dom` markup literals.\n- Supports grammar targeting for highlight customizations.\n- SPX Specific Directive Completions with descriptions.\n- Event Directive Completions with MDN descriptions.\n- Component Completions with state defined referencing.\n- IntelliSense for state, events and nodes within workspace.\n\n# Usage\n\nThe extension exposes an enabled/disable workspace settings which can be used to either activate or deactivate directive completions. Syntax highlighting is automatically applied using HTML grammar injections, as such all `spx-*` attribute occurrences within markup languages apply highlighting.\n\n\u003e Given the large data set applied to event directives, one may prefer to disable the extension when they are not working with SPX.\n\n### Settings\n\nThe below workspace settings are made available:\n\n\u003c!-- prettier-ignore --\u003e\n```jsonc\n{\n  \"spx.enable\": true,   // Enable/Disable directive completions\n  \"spx.files\": [],      // Provide components glob for completions in markup files\n  \"spx.languages\": [      // Additional languages extensions which enable spx\n    \"html\",\n    \"liquid\n  ]\n}\n```\n\n# Contributing\n\nContributions are welcome! This project uses [pnpm](https://pnpm.js.org/en/cli/install) for package management and is written in TypeScript.\n\n1. Ensure pnpm is installed globally `npm i pnpm -g`\n2. Leverage `pnpm env` if you need to align node versions\n3. Clone this repository `git clone https://github.com/panoply/vscode-spx.git`\n4. Run `pnpm i` in the root directory\n5. Run `pnpm dev` for development mode\n\n### Developing\n\nThe project uses [tsup](https://tsup.egoist.sh) for producing the distributed bundle. You can produce a VSIX by running the `pnpm build` command. The `.vscode/launch.json` file contains the extension host logic.\n\n```bash\npnpm dev         # Development in watch mode\npnpm build       # Builds extension and packages VSIX\npnpm data        # Generates the html-data schema files\n```\n\n# Support\n\nFollow me on [X](https://twitter.com/niksavvidis) and say hello! Thought there is no obligation, but coffee is always appreciated.\n\n**PayPal**: [Donate](https://www.paypal.me/paynicos)\u003cbr\u003e\n**BTC**: `35wa8ChA5XvzfFAn5pMiWHWg251xDqxT51`\n\n\u003cbr\u003e\n\n🥛 \u003csmall\u003e[Νίκος Σαβίδης](mailto:n.savvidis@gmx.com)\u003c/small\u003e\n\n# License\n\nLicensed under [MIT](/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanoply%2Fvscode-spx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpanoply%2Fvscode-spx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanoply%2Fvscode-spx/lists"}