Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions frontend/__tests__/commandline/util.spec.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
//import type { ConfigMetadata } from "../../src/ts/config-metadata";
//import type { ConfigMetadata } from "../../src/ts/config/metadata";

import { describe, it, expect, afterAll, vi } from "vitest";
import * as Util from "../../src/ts/commandline/util";

import type { CommandlineConfigMetadata } from "../../src/ts/commandline/commandline-metadata";
import type { ConfigKey } from "@monkeytype/schemas/configs";
import type { ConfigMetadata } from "../../src/ts/config-metadata";
import type { ConfigMetadata } from "../../src/ts/config/metadata";
import { z, ZodSchema } from "zod";

const buildCommandForConfigKey = Util.__testing._buildCommandForConfigKey;

describe("CommandlineUtils", () => {
vi.mock("../../src/ts/config-metadata", () => ({ configMetadata: [] }));
vi.mock("../../src/ts/config/metadata", () => ({ configMetadata: [] }));
vi.mock("../../src/ts/commandline/commandline-metadata", () => ({
commandlineConfigMetadata: [],
}));
Expand Down
16 changes: 10 additions & 6 deletions frontend/__tests__/controllers/preset-controller.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ import { describe, it, expect, beforeEach, vi } from "vitest";
import * as PresetController from "../../src/ts/controllers/preset-controller";
import { Preset } from "@monkeytype/schemas/presets";
import * as DB from "../../src/ts/db";
import * as UpdateConfig from "../../src/ts/config";
import { setConfig } from "../../src/ts/config/setters";
import { Config } from "../../src/ts/config/store";
import * as Lifecycle from "../../src/ts/config/lifecycle";
import * as ConfigUtils from "../../src/ts/config/utils";
import * as Persistence from "../../src/ts/config/persistence";
import * as Notifications from "../../src/ts/states/notifications";
import * as TestLogic from "../../src/ts/test/test-logic";
import * as TagController from "../../src/ts/controllers/tag-controller";
Expand All @@ -16,13 +20,13 @@ describe("PresetController", () => {
//
}));
const dbGetSnapshotMock = vi.spyOn(DB, "getSnapshot");
const configApplyMock = vi.spyOn(UpdateConfig, "applyConfig");
const configApplyMock = vi.spyOn(Lifecycle, "applyConfig");
const configSaveFullConfigMock = vi.spyOn(
UpdateConfig,
Persistence,
"saveFullConfigToLocalStorage",
);
const configGetConfigChangesMock = vi.spyOn(
UpdateConfig,
ConfigUtils,
"getConfigChanges",
);
const notificationAddMock = vi.spyOn(
Expand Down Expand Up @@ -111,8 +115,8 @@ describe("PresetController", () => {
settingGroups: ["test"],
});

UpdateConfig.setConfig("numbers", true);
const oldConfig = structuredClone(UpdateConfig.default);
setConfig("numbers", true);
const oldConfig = structuredClone(Config);

//WHEN
await PresetController.apply(preset._id);
Expand Down
2 changes: 1 addition & 1 deletion frontend/__tests__/controllers/url-handler.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { describe, it, expect, beforeEach, vi } from "vitest";
import { Difficulty, Mode, Mode2 } from "@monkeytype/schemas/shared";
import { compressToURI } from "lz-ts";
import * as UpdateConfig from "../../src/ts/config";
import * as UpdateConfig from "../../src/ts/config/setters";
import * as Notifications from "../../src/ts/states/notifications";
import * as TestLogic from "../../src/ts/test/test-logic";
import * as TestState from "../../src/ts/test/test-state";
Expand Down
2 changes: 1 addition & 1 deletion frontend/__tests__/input/helpers/fail-or-finish.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
checkIfFailedDueToDifficulty,
checkIfFinished,
} from "../../../src/ts/input/helpers/fail-or-finish";
import { __testing } from "../../../src/ts/config";
import { __testing } from "../../../src/ts/config/testing";
import * as Misc from "../../../src/ts/utils/misc";
import * as TestLogic from "../../../src/ts/test/test-logic";
import * as Strings from "../../../src/ts/utils/strings";
Expand Down
2 changes: 1 addition & 1 deletion frontend/__tests__/input/helpers/validation.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
isCharCorrect,
shouldInsertSpaceCharacter,
} from "../../../src/ts/input/helpers/validation";
import { __testing } from "../../../src/ts/config";
import { __testing } from "../../../src/ts/config/testing";
import * as FunboxList from "../../../src/ts/test/funbox/list";
import * as Strings from "../../../src/ts/utils/strings";

Expand Down
13 changes: 7 additions & 6 deletions frontend/__tests__/root/config-metadata.spec.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { describe, it, expect, afterAll, vi } from "vitest";
import { configMetadata } from "../../src/ts/config-metadata";
import * as Config from "../../src/ts/config";
import { configMetadata } from "../../src/ts/config/metadata";
import { __testing } from "../../src/ts/config/testing";
import { setConfig } from "../../src/ts/config/setters";
import { ConfigKey, Config as ConfigType } from "@monkeytype/schemas/configs";

const { replaceConfig, getConfig } = Config.__testing;
const { replaceConfig, getConfig } = __testing;

type TestsByConfig<T> = Partial<{
[K in keyof ConfigType]: (T & { value: ConfigType[K] })[];
Expand Down Expand Up @@ -138,7 +139,7 @@ describe("ConfigMeta", () => {
replaceConfig(given ?? {});

//WHEN
Config.setConfig(key, value as any);
setConfig(key, value as any);

//THEN
expect(getConfig()).toMatchObject(expected);
Expand Down Expand Up @@ -175,7 +176,7 @@ describe("ConfigMeta", () => {
replaceConfig(given ?? {});

//WHEN
const applied = Config.setConfig(key, value as any);
const applied = setConfig(key, value as any);

//THEN
expect(applied).toEqual(!fail);
Expand Down Expand Up @@ -335,7 +336,7 @@ describe("ConfigMeta", () => {
replaceConfig(given);

//WHEN
Config.setConfig(key, value as any);
setConfig(key, value as any);

//THEN
expect(getConfig()).toMatchObject(expected ?? {});
Expand Down
25 changes: 14 additions & 11 deletions frontend/__tests__/root/config.spec.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import { describe, it, expect, beforeEach, afterAll, vi } from "vitest";
import * as Config from "../../src/ts/config";
import * as Config from "../../src/ts/config/setters";
import * as Lifecycle from "../../src/ts/config/lifecycle";
import * as ConfigUtils from "../../src/ts/config/utils";
import { __testing } from "../../src/ts/config/testing";
import * as Misc from "../../src/ts/utils/misc";
import * as Env from "../../src/ts/utils/env";
import {
Expand All @@ -8,11 +11,11 @@ import {
CaretStyleSchema,
} from "@monkeytype/schemas/configs";
import * as FunboxValidation from "../../src/ts/test/funbox/funbox-validation";
import * as ConfigValidation from "../../src/ts/config-validation";
import * as ConfigValidation from "../../src/ts/config/validation";
import * as ConfigEvent from "../../src/ts/observables/config-event";
import * as ApeConfig from "../../src/ts/ape/config";
import * as Notifications from "../../src/ts/states/notifications";
const { replaceConfig, getConfig } = Config.__testing;
const { replaceConfig, getConfig } = __testing;

describe("Config", () => {
const isDevEnvironmentMock = vi.spyOn(Env, "isDevEnvironment");
Expand Down Expand Up @@ -281,7 +284,7 @@ describe("Config", () => {
replaceConfig({
mode: "words",
});
await Config.applyConfig({
await Lifecycle.applyConfig({
numbers: true,
punctuation: true,
});
Expand Down Expand Up @@ -326,7 +329,7 @@ describe("Config", () => {
];

it.each(testCases)("$display", async ({ value, expected }) => {
await Config.applyConfig(value);
await Lifecycle.applyConfig(value);

const config = getConfig();
const applied = Object.fromEntries(
Expand Down Expand Up @@ -363,7 +366,7 @@ describe("Config", () => {
];

it.each(testCases)("$display", async ({ value, expected }) => {
await Config.applyConfig(value);
await Lifecycle.applyConfig(value);
const config = getConfig();
const applied = Object.fromEntries(
Object.entries(config).filter(([key]) =>
Expand All @@ -378,8 +381,8 @@ describe("Config", () => {
replaceConfig({
numbers: true,
});
await Config.applyConfig({
...Config.getConfigChanges(),
await Lifecycle.applyConfig({
...ConfigUtils.getConfigChanges(),
punctuation: true,
});
const config = getConfig();
Expand All @@ -390,7 +393,7 @@ describe("Config", () => {
replaceConfig({
minWpm: "off",
});
await Config.applyConfig({
await Lifecycle.applyConfig({
minWpmCustomSpeed: 100,
});
const config = getConfig();
Expand All @@ -402,7 +405,7 @@ describe("Config", () => {
replaceConfig({
minWpm: "off",
});
await Config.applyConfig({
await Lifecycle.applyConfig({
minWpm: "custom",
minWpmCustomSpeed: 100,
});
Expand All @@ -413,7 +416,7 @@ describe("Config", () => {

it("should keep the keymap off when applying keymapLayout", async () => {
replaceConfig({});
await Config.applyConfig({
await Lifecycle.applyConfig({
keymapLayout: "qwerty",
});
const config = getConfig();
Expand Down
2 changes: 1 addition & 1 deletion frontend/__tests__/test/british-english.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, it, expect, beforeEach } from "vitest";
import { replace } from "../../src/ts/test/british-english";
import Config from "../../src/ts/config";
import { Config } from "../../src/ts/config/store";

describe("british-english", () => {
describe("replace", () => {
Expand Down
2 changes: 1 addition & 1 deletion frontend/__tests__/utils/config.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, it, expect } from "vitest";
import { getDefaultConfig } from "../../src/ts/constants/default-config";
import { migrateConfig } from "../../src/ts/utils/config";
import { migrateConfig } from "../../src/ts/config/utils";
import { PartialConfig } from "@monkeytype/schemas/configs";

const defaultConfig = getDefaultConfig();
Expand Down
4 changes: 2 additions & 2 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"@monkeytype/funbox": "workspace:*",
"@monkeytype/schemas": "workspace:*",
"@monkeytype/util": "workspace:*",
"@sentry/browser": "9.14.0",
"@sentry/browser": "10.44.0",
"@sentry/vite-plugin": "3.3.1",
"@solid-devtools/overlay": "0.33.5",
"@solid-primitives/refs": "1.1.2",
Expand Down Expand Up @@ -107,7 +107,7 @@
"oxlint": "1.50.0",
"oxlint-tsgolint": "0.14.2",
"postcss": "8.5.8",
"sass": "1.98.0",
"sass": "1.70.0",
"solid-devtools": "0.34.5",
"solid-js": "1.9.10",
"subset-font": "2.3.0",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/auth.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {

import Ape from "./ape";
import { showRegisterCaptchaModal } from "./components/modals/RegisterCaptchaModal";
import { updateFromServer as updateConfigFromServer } from "./config";
import { updateFromServer as updateConfigFromServer } from "./config/remote";
import * as DB from "./db";
import {
isAuthAvailable,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/commandline/commandline-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { getLanguageDisplayString } from "../utils/strings";
import * as ModesNotice from "../elements/modes-notice";
import { isAuthenticated } from "../firebase";
import { areUnsortedArraysEqual } from "../utils/arrays";
import Config from "../config";
import { Config } from "../config/store";
import { get as getTypingSpeedUnit } from "../utils/typing-speed-units";
import { getActivePage } from "../states/core";
import { Fonts } from "../constants/fonts";
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/commandline/commandline.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as Focus from "../test/focus";
import * as CommandlineLists from "./lists";
import Config from "../config";
import { Config } from "../config/store";
import * as AnalyticsController from "../controllers/analytics-controller";
import * as ThemeController from "../controllers/theme-controller";
import { clearFontPreview } from "../ui";
Expand Down
4 changes: 3 additions & 1 deletion frontend/src/ts/commandline/lists.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ import LoadChallengeCommands, {
update as updateLoadChallengeCommands,
} from "./lists/load-challenge";

import Config, { applyConfigFromJson, setConfig } from "../config";
import { Config } from "../config/store";
import { setConfig } from "../config/setters";
import * as getErrorMessage from "../utils/error";
import * as JSONData from "../utils/json-data";
import { randomizeTheme } from "../controllers/theme-controller";
Expand All @@ -39,6 +40,7 @@ import {
hideFpsCounter,
showFpsCounter,
} from "../components/layout/overlays/FpsCounter";
import { applyConfigFromJson } from "../config/lifecycle";

const challengesPromise = JSONData.getChallengeList();
challengesPromise
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { ThemeName } from "@monkeytype/schemas/configs";
import Config, { setConfig } from "../../config";
import { Config } from "../../config/store";
import { setConfig } from "../../config/setters";
import { randomTheme } from "../../controllers/theme-controller";
import { Command } from "../types";

Expand Down
3 changes: 2 additions & 1 deletion frontend/src/ts/commandline/lists/background-filter.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Config, { setConfig } from "../../config";
import { Config } from "../../config/store";
import { setConfig } from "../../config/setters";
import { Command, CommandsSubgroup } from "../types";

const subgroup: CommandsSubgroup = {
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/commandline/lists/bail-out.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Config from "../../config";
import { Config } from "../../config/store";
import * as CustomText from "../../test/custom-text";
import * as TestLogic from "../../test/test-logic";
import * as TestState from "../../test/test-state";
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/ts/commandline/lists/custom-background.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import FileStorage from "../../utils/file-storage";
import { applyCustomBackground } from "../../controllers/theme-controller";
import { updateUI } from "../../elements/settings/custom-background-picker";
import { showNoticeNotification } from "../../states/notifications";
import Config, { setConfig } from "../../config";
import { Config } from "../../config/store";
import { setConfig } from "../../config/setters";

const fromMeta = buildCommandForConfigKey("customBackground");

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/commandline/lists/custom-themes-list.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { setConfig } from "../../config";
import { setConfig } from "../../config/setters";
import { isAuthenticated } from "../../firebase";
import * as DB from "../../db";
import * as ThemeController from "../../controllers/theme-controller";
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/ts/commandline/lists/font-family.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import FileStorage from "../../utils/file-storage";
import { applyFontFamily } from "../../controllers/theme-controller";
import { updateUI } from "../../elements/settings/custom-font-picker";
import { showNoticeNotification } from "../../states/notifications";
import Config, { setConfig } from "../../config";

import { Config } from "../../config/store";
import { setConfig } from "../../config/setters";
const fromMeta = buildCommandForConfigKey("fontFamily");

if (fromMeta.subgroup) {
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/ts/commandline/lists/min-burst.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Config, { setConfig } from "../../config";
import { Config } from "../../config/store";
import { setConfig } from "../../config/setters";
import { get as getTypingSpeedUnit } from "../../utils/typing-speed-units";
import { Command, CommandsSubgroup } from "../types";

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/commandline/lists/quote-favorites.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Config from "../../config";
import { Config } from "../../config/store";
import QuotesController, { Quote } from "../../controllers/quotes-controller";
import {
showErrorNotification,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/commandline/lists/result-screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
import * as TestInput from "../../test/test-input";
import * as TestState from "../../test/test-state";
import * as TestWords from "../../test/test-words";
import Config from "../../config";
import { Config } from "../../config/store";
import * as PractiseWords from "../../test/practise-words";
import { Command, CommandsSubgroup } from "../types";
import * as TestScreenshot from "../../test/test-screenshot";
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/commandline/lists/tags.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as DB from "../../db";
import * as EditTagsPopup from "../../modals/edit-tag";
import * as ModesNotice from "../../elements/modes-notice";
import * as TagController from "../../controllers/tag-controller";
import Config from "../../config";
import { Config } from "../../config/store";
import * as PaceCaret from "../../test/pace-caret";
import { isAuthenticated } from "../../firebase";
import { Command, CommandsSubgroup } from "../types";
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/ts/commandline/lists/themes.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Config, { setConfig } from "../../config";
import { Config } from "../../config/store";
import { setConfig } from "../../config/setters";
import { capitalizeFirstLetterOfEachWord } from "../../utils/strings";
import * as ThemeController from "../../controllers/theme-controller";
import { Command, CommandsSubgroup } from "../types";
Expand Down
5 changes: 3 additions & 2 deletions frontend/src/ts/commandline/util.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import Config, { setConfig } from "../config";
import { ConfigMetadata, configMetadata } from "../config-metadata";
import { Config } from "../config/store";
import { setConfig } from "../config/setters";
import { ConfigMetadata, configMetadata } from "../config/metadata";
import { capitalizeFirstLetter } from "../utils/strings";
import {
CommandlineConfigMetadata,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/ts/components/layout/footer/Keytips.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { JSXElement, Show } from "solid-js";

import { getConfig } from "../../../states/config";
import { getConfig } from "../../../config/store";
import { getFocus } from "../../../states/core";
import { Conditional } from "../../common/Conditional";

Expand Down
Loading
Loading