redhat-developer / redhat-developer/yaml-language-server
Remove built in kubernetes support
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.5k
- Forks
- 352
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 11
Description
It's probably time that we start to deprecate the built-in Kubernetes support from the language server. Although it is useful, it really shouldn't be bundled with the extension and it creates issues that have to be specifically solved inside of the language server that don't really make sense in the context of a pure YAML language server.
E.g. https://github.com/redhat-developer/yaml-language-server/issues/220, https://github.com/redhat-developer/yaml-language-server/issues/211, https://github.com/redhat-developer/yaml-language-server/issues/132, https://github.com/redhat-developer/vscode-yaml/issues/153, https://github.com/redhat-developer/vscode-yaml/issues/246.
These are the things that should be done:
- Remove kubernetes references from README
- Remove kubernetes schema automapping (kubernetes -> https://raw.githubusercontent.com/instrumenta/kubernetes-json-schema/master/v1.17.0-standalone-strict/all.json)
- Remove kubernetes references in server.ts
- Rename all references of isKubernetes in https://github.com/redhat-developer/yaml-language-server/blob/master/src/languageservice/parser/jsonParser07.ts. These need to be renamed and not removed because that part of the code is still useful. It allows you to use an alternative schema matching mechanism that may work better. This issue shows heavily in cases like the kubernetes schema where there are a lot of "oneOf" present in the json schema
- Update Changelog with breaking change
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the README, server.ts, and jsonParser07.ts references listed in the checklist, then inspect the Kubernetes schema automapping and the related changelog entries. Done means removing the bundled Kubernetes support and README references, renaming rather than removing the isKubernetes-related parser references, and documenting the breaking change in the changelog.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, typescript
- Domain
- devtools, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100