1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-07-30 02:21:17 +03:00

Use & enforce snake_case naming convention on config.json settings (#8062)

* Document and support the established naming convention for config opts

This change:
* Rename `ConfigOptions` to `IConfigOptions` to match code convention/style, plus move it to a dedicated file
* Update comments and surrounding documentation
* Define every single documented option (from element-web's config.md)
* Enable a linter to enforce the convention
* Invent a translation layer for a different change to use
* No attempt to fix build errors from doing this (at this stage)

* Add demo of lint rule in action

* Fix all obvious instances of SdkConfig case conflicts

* Fix tests to use SdkConfig directly

* Add docs to make unset() calling safer

* Appease the linter

* Update documentation to match snake_case_config

* Fix more instances of square brackets off SdkConfig
This commit is contained in:
Travis Ralston
2022-03-18 10:12:36 -06:00
committed by GitHub
parent 09c57b228e
commit d8a939df5d
56 changed files with 605 additions and 259 deletions

View File

@ -72,20 +72,23 @@ describe("PosthogAnalytics", () => {
afterEach(() => {
window.crypto = null;
SdkConfig.unset(); // we touch the config, so clean up
});
describe("Initialisation", () => {
it("Should not be enabled without config being set", () => {
jest.spyOn(SdkConfig, "get").mockReturnValue({});
// force empty/invalid state for posthog options
SdkConfig.put({ brand: "Testing" });
const analytics = new PosthogAnalytics(fakePosthog);
expect(analytics.isEnabled()).toBe(false);
});
it("Should be enabled if config is set", () => {
jest.spyOn(SdkConfig, "get").mockReturnValue({
SdkConfig.put({
brand: "Testing",
posthog: {
projectApiKey: "foo",
apiHost: "bar",
project_api_key: "foo",
api_host: "bar",
},
});
const analytics = new PosthogAnalytics(fakePosthog);
@ -98,10 +101,11 @@ describe("PosthogAnalytics", () => {
let analytics: PosthogAnalytics;
beforeEach(() => {
jest.spyOn(SdkConfig, "get").mockReturnValue({
SdkConfig.put({
brand: "Testing",
posthog: {
projectApiKey: "foo",
apiHost: "bar",
project_api_key: "foo",
api_host: "bar",
},
});