windows-terminal/oss/chromium
Jamie Magee 3ae67a9b68
Add `$schema` to `cgmanifest.json` (#13887)
This pull request adds the JSON schema for `cgmanifest.json`.

## FAQ

### Why?

A JSON schema helps you to ensure that your `cgmanifest.json` file is valid.
JSON schema validation is a build-in feature in most modern IDEs like Visual Studio and Visual Studio Code.
Most modern IDEs also provide code-completion for JSON schemas.

### How can I validate my `cgmanifest.json` file?

Most modern IDEs like Visual Studio and Visual Studio Code have a built-in feature to validate JSON files.
You can also use [this small script](https://github.com/JamieMagee/verify-cgmanifest) to validate your `cgmanifest.json` file.

### Why does it suggest camel case for the properties?

Component Detection is able to read camel case and pascal case properties.
However, the JSON schema doesn't have a case-insensitive mode.
We therefore suggest camel case as it's the most common format for JSON.

### Why is the diff so large?

To deserialize the `cgmanifest.json` file, we use [`JSON.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse).
However, to serialize the JSON again we use [`prettier`](https://prettier.io/).
We found that, in general, it gave smaller diffs than the default [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) function.
2022-08-31 17:31:24 +00:00
..
base/numerics build: move oss required to build conhost out of dep/ (#5451) 2020-04-21 14:43:09 -07:00
LICENSE build: move oss required to build conhost out of dep/ (#5451) 2020-04-21 14:43:09 -07:00
MAINTAINER_README.md Fix typos found in terminal/oss (#11048) 2021-08-26 16:40:26 -05:00
cgmanifest.json Add `$schema` to `cgmanifest.json` (#13887) 2022-08-31 17:31:24 +00:00