diff --git a/.oxfmtrc.json b/.oxfmtrc.json index 05304e1..4008783 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -5,5 +5,24 @@ "semi": true, "singleQuote": false, "bracketSameLine": true, - "ignorePatterns": ["dist/**", "*.min.js", "README.md", "types/**"] + "ignorePatterns": ["dist/**", "*.min.js", "README.md", "types/**"], + "sortImports": { + "newlinesBetween": true, + "customGroups": [ + { + "groupName": "fonts", + "elementNamePattern": ["@/fonts/**"] + } + ], + "groups": [ + "type-import", + ["value-builtin", "value-external"], + "type-internal", + "value-internal", + ["type-parent", "type-sibling", "type-index"], + ["value-parent", "value-sibling", "value-index"], + "fonts", + "unknown" + ] + } } diff --git a/scripts/build.js b/scripts/build.js index 6e8ce3c..2bcdf9f 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -1,7 +1,7 @@ -import path from "path"; import fs from "fs/promises"; -import { build } from "vite"; +import path from "path"; import { fileURLToPath } from "url"; +import { build } from "vite"; async function buildPlugin() { const __filename = fileURLToPath(import.meta.url); diff --git a/scripts/dev.js b/scripts/dev.js index 8522fb8..79d6dc6 100644 --- a/scripts/dev.js +++ b/scripts/dev.js @@ -1,7 +1,7 @@ -import path from "path"; import fs from "fs/promises"; -import { build } from "vite"; +import path from "path"; import { fileURLToPath } from "url"; +import { build } from "vite"; async function dev() { const __filename = fileURLToPath(import.meta.url); diff --git a/src/commands/__mocks__/obsidian.ts b/src/commands/__mocks__/obsidian.ts index 21ade65..4574122 100644 --- a/src/commands/__mocks__/obsidian.ts +++ b/src/commands/__mocks__/obsidian.ts @@ -1,4 +1,5 @@ import type { TFile, Vault } from "obsidian"; + import { vi } from "vitest"; function createTFile(vault: Vault, path: string): TFile { diff --git a/src/commands/stopAllTimekeeps.test.ts b/src/commands/stopAllTimekeeps.test.ts index f304f16..95ed08e 100644 --- a/src/commands/stopAllTimekeeps.test.ts +++ b/src/commands/stopAllTimekeeps.test.ts @@ -1,9 +1,9 @@ import moment from "moment"; import fs from "node:fs/promises"; +import { expect, it, describe } from "vitest"; import { MockVault } from "./__mocks__/obsidian"; import { stopAllTimekeeps } from "./stopAllTimekeeps"; -import { expect, it, describe } from "vitest"; describe("stopAllTimekeeps", () => { it("should stop nothing when no markdown files", async () => { diff --git a/src/commands/stopFileTimekeeps.test.ts b/src/commands/stopFileTimekeeps.test.ts index ee08518..b74e73f 100644 --- a/src/commands/stopFileTimekeeps.test.ts +++ b/src/commands/stopFileTimekeeps.test.ts @@ -1,9 +1,9 @@ import moment from "moment"; import fs from "node:fs/promises"; +import { expect, it, describe } from "vitest"; import { MockVault } from "./__mocks__/obsidian"; import { stopFileTimekeeps } from "./stopFileTimekeeps"; -import { expect, it, describe } from "vitest"; describe("stopFileTimekeeps", () => { it("nothing should change if the file has no timekeeps", async () => { diff --git a/src/commands/stopFileTimekeeps.ts b/src/commands/stopFileTimekeeps.ts index dfe5afa..0ec72f3 100644 --- a/src/commands/stopFileTimekeeps.ts +++ b/src/commands/stopFileTimekeeps.ts @@ -1,8 +1,9 @@ import { Moment } from "moment"; import { TFile, Vault } from "obsidian"; -import { Timekeep } from "@/timekeep/schema"; + import { getRunningEntry, stopRunningEntries } from "@/timekeep"; import { replaceTimekeepCodeblock, extractTimekeepCodeblocksWithPosition } from "@/timekeep/parser"; +import { Timekeep } from "@/timekeep/schema"; /** * Stops all timekeeps in the provided file if there are any running. diff --git a/src/components/pdf/renderer.ts b/src/components/pdf/renderer.ts index a5f794d..fb28e0f 100644 --- a/src/components/pdf/renderer.ts +++ b/src/components/pdf/renderer.ts @@ -1,8 +1,4 @@ -import type { TimeEntry, Timekeep } from "@/timekeep/schema"; -import type { TimekeepSettings } from "@/settings"; import type { Moment } from "moment"; - -import pdfMake from "pdfmake"; import type { DynamicContent, TableCell, @@ -10,14 +6,20 @@ import type { TFontDictionary, } from "pdfmake/interfaces"; -// Embedded fonts -import RobotoBold from "@/fonts/Roboto-Bold.ttf"; -import RubikRegular from "@/fonts/Rubik-Regular.ttf"; -import RubikBold from "@/fonts/Rubik-Bold.ttf"; -import RobotoRegular from "@/fonts/Roboto-Regular.ttf"; +import pdfMake from "pdfmake"; + +import type { TimekeepSettings } from "@/settings"; +import type { TimeEntry, Timekeep } from "@/timekeep/schema"; + import { getEntryDuration, getTotalDuration } from "@/timekeep"; import { formatDurationLong, formatDurationShort, formatPdfDate, formatPdfRowDate } from "@/utils"; +// Embedded fonts +import RobotoBold from "@/fonts/Roboto-Bold.ttf"; +import RobotoRegular from "@/fonts/Roboto-Regular.ttf"; +import RubikBold from "@/fonts/Rubik-Bold.ttf"; +import RubikRegular from "@/fonts/Rubik-Regular.ttf"; + const fonts: TFontDictionary = { Roboto: { normal: "Roboto-Regular.ttf", diff --git a/src/components/timesheet.ts b/src/components/timesheet.ts index 5e8c6e9..f505226 100644 --- a/src/components/timesheet.ts +++ b/src/components/timesheet.ts @@ -1,8 +1,10 @@ +import { App, Component } from "obsidian"; + import { CustomOutputFormat } from "@/output"; import { TimekeepSettings } from "@/settings"; import { Store } from "@/store"; import { Timekeep } from "@/timekeep/schema"; -import { App, Component } from "obsidian"; + import { TimesheetApp } from "./timesheetApp"; import { TimesheetSaveError } from "./timesheetSaveError"; diff --git a/src/components/timesheetApp.ts b/src/components/timesheetApp.ts index 3925b5e..c51a4e2 100644 --- a/src/components/timesheetApp.ts +++ b/src/components/timesheetApp.ts @@ -1,12 +1,14 @@ +import { App, Component } from "obsidian"; + import { CustomOutputFormat } from "@/output"; import { TimekeepSettings } from "@/settings"; import { Store } from "@/store"; import { Timekeep } from "@/timekeep/schema"; -import { App, Component } from "obsidian"; + import { TimesheetCounters } from "./timesheetCounters"; +import { TimesheetExportActions } from "./timesheetExportActions"; import { TimesheetStart } from "./timesheetStart"; import { TimesheetTable } from "./timesheetTable"; -import { TimesheetExportActions } from "./timesheetExportActions"; /** * View component for the timesheet app as a whole diff --git a/src/components/timesheetCounters.ts b/src/components/timesheetCounters.ts index 7b2f932..955c362 100644 --- a/src/components/timesheetCounters.ts +++ b/src/components/timesheetCounters.ts @@ -1,10 +1,13 @@ +import moment from "moment"; +import { Component } from "obsidian"; + import type { TimekeepSettings } from "@/settings"; import type { Store } from "@/store"; import type { Timekeep } from "@/timekeep/schema"; -import { Component } from "obsidian"; -import moment from "moment"; + import { getEntryDuration, getRunningEntry, getTotalDuration, isKeepRunning } from "@/timekeep"; import { formatDuration } from "@/utils"; + import { TimesheetTimer } from "./timesheetTimer"; /** diff --git a/src/components/timesheetExportActions.ts b/src/components/timesheetExportActions.ts index 97928d3..f1df482 100644 --- a/src/components/timesheetExportActions.ts +++ b/src/components/timesheetExportActions.ts @@ -1,11 +1,12 @@ +import moment from "moment"; +import { type App, Component, Notice } from "obsidian"; + +import { createCSV, createMarkdownTable } from "@/export"; +import { exportPdf } from "@/export/pdf"; import { CustomOutputFormat } from "@/output"; import { TimekeepSettings } from "@/settings"; import { Store } from "@/store"; import { stripTimekeepRuntimeData, Timekeep } from "@/timekeep/schema"; -import { type App, Component, Notice } from "obsidian"; -import moment from "moment"; -import { createCSV, createMarkdownTable } from "@/export"; -import { exportPdf } from "@/export/pdf"; /** * Export actions section component diff --git a/src/components/timesheetName.ts b/src/components/timesheetName.ts index c814c87..619e4d5 100644 --- a/src/components/timesheetName.ts +++ b/src/components/timesheetName.ts @@ -1,3 +1,5 @@ +import { App, Component } from "obsidian"; + import { NameSegment, NameSegmentLink, @@ -5,7 +7,6 @@ import { NameSegmentType, parseNameSegments, } from "@/utils/name"; -import { App, Component } from "obsidian"; /** * Component for rendering the name of a timekeep entry, this diff --git a/src/components/timesheetRowContainer.ts b/src/components/timesheetRowContainer.ts index 644027c..c1d56b0 100644 --- a/src/components/timesheetRowContainer.ts +++ b/src/components/timesheetRowContainer.ts @@ -1,9 +1,11 @@ -import type { TimeEntry, Timekeep } from "@/timekeep/schema"; +import { type App, Component } from "obsidian"; + import type { TimekeepSettings } from "@/settings"; import type { Store } from "@/store"; -import { type App, Component } from "obsidian"; -import { TimesheetRowContentEditing } from "./timesheetRowContentEditing"; +import type { TimeEntry, Timekeep } from "@/timekeep/schema"; + import { TimesheetRowContent } from "./timesheetRowContent"; +import { TimesheetRowContentEditing } from "./timesheetRowContentEditing"; /** * This container allows a entry to switch between the default and diff --git a/src/components/timesheetRowContent.ts b/src/components/timesheetRowContent.ts index 32cff64..7ab016c 100644 --- a/src/components/timesheetRowContent.ts +++ b/src/components/timesheetRowContent.ts @@ -1,3 +1,8 @@ +import moment from "moment"; +import { App, Component } from "obsidian"; + +import { TimekeepSettings } from "@/settings"; +import { Store } from "@/store"; import { getRunningEntry, isEntryRunning, @@ -6,14 +11,11 @@ import { updateEntry, } from "@/timekeep"; import { TimeEntry, Timekeep } from "@/timekeep/schema"; -import { App, Component } from "obsidian"; +import { formatTimestamp } from "@/utils"; + import { createObsidianIcon } from "./obsidianIcon"; import { TimekeepName } from "./timesheetName"; -import { formatTimestamp } from "@/utils"; -import { Store } from "@/store"; -import { TimekeepSettings } from "@/settings"; import { TimesheetRowDurationComponent } from "./timesheetRowDuration"; -import moment from "moment"; /** * Component for the contents of a timesheet row diff --git a/src/components/timesheetRowContentEditing.ts b/src/components/timesheetRowContentEditing.ts index 0bc1b16..03452b0 100644 --- a/src/components/timesheetRowContentEditing.ts +++ b/src/components/timesheetRowContentEditing.ts @@ -1,12 +1,14 @@ +import { App, Component } from "obsidian"; + +import { TimekeepSettings } from "@/settings"; +import { Store } from "@/store"; import { removeEntry, updateEntry } from "@/timekeep"; import { TimeEntry, Timekeep } from "@/timekeep/schema"; -import { App, Component } from "obsidian"; -import { createObsidianIcon } from "./obsidianIcon"; import { formatEditableTimestamp, parseEditableTimestamp } from "@/utils"; -import { Store } from "@/store"; -import { TimekeepSettings } from "@/settings"; import { ConfirmModal } from "@/utils/confirm-modal"; +import { createObsidianIcon } from "./obsidianIcon"; + /** * Component for a timesheet row entry that is currently * being edited diff --git a/src/components/timesheetRowDuration.ts b/src/components/timesheetRowDuration.ts index abc796e..0675f0d 100644 --- a/src/components/timesheetRowDuration.ts +++ b/src/components/timesheetRowDuration.ts @@ -1,7 +1,8 @@ -import { TimeEntry } from "@/timekeep/schema"; -import { Component } from "obsidian"; import moment from "moment"; +import { Component } from "obsidian"; + import { getEntryDuration, isEntryRunning } from "@/timekeep"; +import { TimeEntry } from "@/timekeep/schema"; import { formatDurationLong } from "@/utils"; /** diff --git a/src/components/timesheetSaveError.ts b/src/components/timesheetSaveError.ts index c13b0fb..ecee3c5 100644 --- a/src/components/timesheetSaveError.ts +++ b/src/components/timesheetSaveError.ts @@ -1,7 +1,9 @@ -import type { Store } from "@/store"; -import { stripTimekeepRuntimeData, type Timekeep } from "@/timekeep/schema"; import { Component } from "obsidian"; +import type { Store } from "@/store"; + +import { stripTimekeepRuntimeData, type Timekeep } from "@/timekeep/schema"; + type HandleSaveTimekeep = (value: Timekeep) => Promise; /** diff --git a/src/components/timesheetStart.ts b/src/components/timesheetStart.ts index 8839de0..3167fd1 100644 --- a/src/components/timesheetStart.ts +++ b/src/components/timesheetStart.ts @@ -1,10 +1,12 @@ -import type { TimekeepSettings } from "@/settings"; -import type { Timekeep } from "@/timekeep/schema"; -import type { Store } from "@/store"; +import moment from "moment"; import { type App, Component } from "obsidian"; +import type { TimekeepSettings } from "@/settings"; +import type { Store } from "@/store"; +import type { Timekeep } from "@/timekeep/schema"; + import { getRunningEntry, startNewEntry } from "@/timekeep"; -import moment from "moment"; + import { createObsidianIcon } from "./obsidianIcon"; import { TimekeepStartEditing } from "./timesheetStartEditing"; import { TimesheetStartRunning } from "./timesheetStartRunning"; diff --git a/src/components/timesheetStartEditing.ts b/src/components/timesheetStartEditing.ts index 28e989c..f2a9dba 100644 --- a/src/components/timesheetStartEditing.ts +++ b/src/components/timesheetStartEditing.ts @@ -1,8 +1,11 @@ -import type { TimekeepSettings } from "@/settings"; -import type { Timekeep } from "@/timekeep/schema"; -import type { Store } from "@/store"; import { type App, Component } from "obsidian"; + +import type { TimekeepSettings } from "@/settings"; +import type { Store } from "@/store"; +import type { Timekeep } from "@/timekeep/schema"; + import { getRunningEntry, updateEntry } from "@/timekeep"; + import { createObsidianIcon } from "./obsidianIcon"; /** diff --git a/src/components/timesheetStartRunning.ts b/src/components/timesheetStartRunning.ts index fefa330..f4365dc 100644 --- a/src/components/timesheetStartRunning.ts +++ b/src/components/timesheetStartRunning.ts @@ -1,13 +1,15 @@ -import type { TimeEntry, Timekeep } from "@/timekeep/schema"; -import type { TimekeepSettings } from "@/settings"; -import type { Store } from "@/store"; +import moment from "moment"; import { type App, Component } from "obsidian"; +import type { TimekeepSettings } from "@/settings"; +import type { Store } from "@/store"; +import type { TimeEntry, Timekeep } from "@/timekeep/schema"; + import { getPathToEntry, stopRunningEntries } from "@/timekeep"; -import moment from "moment"; -import { createObsidianIcon } from "./obsidianIcon"; import { formatTimestamp } from "@/utils"; +import { createObsidianIcon } from "./obsidianIcon"; + /** * The "Running" timer section of the timesheet start are */ diff --git a/src/components/timesheetTable.ts b/src/components/timesheetTable.ts index 29a56f7..8142c6d 100644 --- a/src/components/timesheetTable.ts +++ b/src/components/timesheetTable.ts @@ -1,10 +1,13 @@ +import { type App, Component } from "obsidian"; + import type { TimekeepSettings } from "@/settings"; import type { Store } from "@/store"; import type { Timekeep } from "@/timekeep/schema"; -import { type App, Component } from "obsidian"; -import { TimesheetRowContainer } from "./timesheetRowContainer"; + import { getEntriesSorted } from "@/timekeep"; +import { TimesheetRowContainer } from "./timesheetRowContainer"; + /** * Table component for rendering the contents of the timekeep */ diff --git a/src/export/csv.ts b/src/export/csv.ts index d193beb..7508778 100644 --- a/src/export/csv.ts +++ b/src/export/csv.ts @@ -1,7 +1,8 @@ import type { Moment } from "moment"; -import { Timekeep } from "@/timekeep/schema"; -import { TimekeepSettings } from "@/settings"; + import { RawTableRow, createRawTable } from "@/export"; +import { TimekeepSettings } from "@/settings"; +import { Timekeep } from "@/timekeep/schema"; /** * Creates the CSV header row diff --git a/src/export/index.ts b/src/export/index.ts index eaa3174..3eacc28 100644 --- a/src/export/index.ts +++ b/src/export/index.ts @@ -1,8 +1,9 @@ import type { Moment } from "moment"; -import { TimeEntry } from "@/timekeep/schema"; + import { TimekeepSettings } from "@/settings"; -import { formatDuration, formatTimestamp } from "@/utils"; import { getEntryDuration, getEntriesSorted } from "@/timekeep"; +import { TimeEntry } from "@/timekeep/schema"; +import { formatDuration, formatTimestamp } from "@/utils"; export { createCSV } from "./csv"; export { createMarkdownTable } from "./markdown-table"; diff --git a/src/export/markdown-table.ts b/src/export/markdown-table.ts index 69c0a3f..5bd6379 100644 --- a/src/export/markdown-table.ts +++ b/src/export/markdown-table.ts @@ -1,9 +1,10 @@ import type { Moment } from "moment"; -import { formatDuration } from "@/utils"; + +import { RawTableRow, TOTAL_COLUMNS, createRawTable } from "@/export"; +import { DurationFormat, TimekeepSettings } from "@/settings"; import { getTotalDuration } from "@/timekeep"; import { Timekeep, TimeEntry } from "@/timekeep/schema"; -import { DurationFormat, TimekeepSettings } from "@/settings"; -import { RawTableRow, TOTAL_COLUMNS, createRawTable } from "@/export"; +import { formatDuration } from "@/utils"; /** * Creates the table header row diff --git a/src/export/pdf.ts b/src/export/pdf.ts index 79e7d41..bd6d1bd 100644 --- a/src/export/pdf.ts +++ b/src/export/pdf.ts @@ -1,8 +1,9 @@ import moment from "moment"; import { App, Notice, Platform } from "obsidian"; -import { Timekeep } from "@/timekeep/schema"; -import { TimekeepSettings, PdfExportBehavior } from "@/settings"; + import { createPdfExport, createPdfExportBlob } from "@/components/pdf/renderer"; +import { TimekeepSettings, PdfExportBehavior } from "@/settings"; +import { Timekeep } from "@/timekeep/schema"; import { pickFileName } from "@/utils/file-name-prompt-modal"; export async function exportPdf(app: App, timekeep: Timekeep, settings: TimekeepSettings) { diff --git a/src/main.ts b/src/main.ts index be0ce85..74378bb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,15 +1,4 @@ import moment, { Moment } from "moment"; -import { Store, createStore } from "@/store"; -import { TimekeepSettingsTab } from "@/settings-tab"; -import { defaultSettings, TimekeepSettings, legacySettingsCompatibility } from "@/settings"; -import { load, replaceTimekeepCodeblock, extractTimekeepCodeblocks } from "@/timekeep/parser"; -import { - isKeepRunning, - isEntryRunning, - getRunningEntry, - getEntryDuration, - getTotalDuration, -} from "@/timekeep"; import { Vault, TFile, @@ -20,13 +9,25 @@ import { MarkdownPostProcessorContext, } from "obsidian"; -import { CustomOutputFormat } from "./output"; -import { Timekeep, TimeEntry } from "./timekeep/schema"; +import { defaultSettings, TimekeepSettings, legacySettingsCompatibility } from "@/settings"; +import { TimekeepSettingsTab } from "@/settings-tab"; +import { Store, createStore } from "@/store"; +import { + isKeepRunning, + isEntryRunning, + getRunningEntry, + getEntryDuration, + getTotalDuration, +} from "@/timekeep"; +import { load, replaceTimekeepCodeblock, extractTimekeepCodeblocks } from "@/timekeep/parser"; + import { stopAllTimekeeps } from "./commands/stopAllTimekeeps"; import { stopFileTimekeeps } from "./commands/stopFileTimekeeps"; -import { TimekeepMergerModal } from "./views/timekeep-merger-modal"; +import { CustomOutputFormat } from "./output"; +import { Timekeep, TimeEntry } from "./timekeep/schema"; import { TimekeepLocatorModal } from "./views/timekeep-locator-modal"; import { TimekeepMarkdownView } from "./views/timekeep-markdown-view"; +import { TimekeepMergerModal } from "./views/timekeep-merger-modal"; export default class TimekeepPlugin extends Plugin { settingsStore: Store; diff --git a/src/output.ts b/src/output.ts index d5c663a..4040bf8 100644 --- a/src/output.ts +++ b/src/output.ts @@ -1,7 +1,7 @@ import { Moment } from "moment"; -import { Timekeep } from "./timekeep/schema"; import { TimekeepSettings } from "./settings"; +import { Timekeep } from "./timekeep/schema"; export interface CustomOutputFormat { /** diff --git a/src/settings-tab.ts b/src/settings-tab.ts index 2b73d34..bf4c4d6 100644 --- a/src/settings-tab.ts +++ b/src/settings-tab.ts @@ -1,6 +1,6 @@ -import { Store } from "@/store"; -import TimekeepPlugin from "@/main"; import { App, Setting, PluginSettingTab } from "obsidian"; + +import TimekeepPlugin from "@/main"; import { SortOrder, FontFamily, @@ -10,6 +10,7 @@ import { TimekeepSettings, PdfExportBehavior, } from "@/settings"; +import { Store } from "@/store"; export class TimekeepSettingsTab extends PluginSettingTab { settingsStore: Store; diff --git a/src/settings.test.ts b/src/settings.test.ts index d217285..fde9bcd 100644 --- a/src/settings.test.ts +++ b/src/settings.test.ts @@ -1,3 +1,5 @@ +import { expect, test, describe } from "vitest"; + import { SortOrder, DurationFormat, @@ -5,7 +7,6 @@ import { TimekeepSettings, legacySettingsCompatibility, } from "./settings"; -import { expect, test, describe } from "vitest"; describe("legacy settings compatibility conversion", () => { test("Empty setting", () => { diff --git a/src/timekeep/__fixtures__/checking/findEntryById.ts b/src/timekeep/__fixtures__/checking/findEntryById.ts index 2e8e2de..ab9ab99 100644 --- a/src/timekeep/__fixtures__/checking/findEntryById.ts +++ b/src/timekeep/__fixtures__/checking/findEntryById.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/findEntryByIdMissing.ts b/src/timekeep/__fixtures__/checking/findEntryByIdMissing.ts index 115c64d..11ba510 100644 --- a/src/timekeep/__fixtures__/checking/findEntryByIdMissing.ts +++ b/src/timekeep/__fixtures__/checking/findEntryByIdMissing.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/findEntryByIdNested.ts b/src/timekeep/__fixtures__/checking/findEntryByIdNested.ts index 6aba84e..e530d39 100644 --- a/src/timekeep/__fixtures__/checking/findEntryByIdNested.ts +++ b/src/timekeep/__fixtures__/checking/findEntryByIdNested.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/findRunningEntryPath.ts b/src/timekeep/__fixtures__/checking/findRunningEntryPath.ts index 28d6539..156aecd 100644 --- a/src/timekeep/__fixtures__/checking/findRunningEntryPath.ts +++ b/src/timekeep/__fixtures__/checking/findRunningEntryPath.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/runningState.ts b/src/timekeep/__fixtures__/checking/runningState.ts index f33a867..85df9f4 100644 --- a/src/timekeep/__fixtures__/checking/runningState.ts +++ b/src/timekeep/__fixtures__/checking/runningState.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/shouldBeRunning.ts b/src/timekeep/__fixtures__/checking/shouldBeRunning.ts index b87de94..020c407 100644 --- a/src/timekeep/__fixtures__/checking/shouldBeRunning.ts +++ b/src/timekeep/__fixtures__/checking/shouldBeRunning.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { Timekeep, TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/shouldFindRunningEntry.ts b/src/timekeep/__fixtures__/checking/shouldFindRunningEntry.ts index 409d8a0..7fdd64a 100644 --- a/src/timekeep/__fixtures__/checking/shouldFindRunningEntry.ts +++ b/src/timekeep/__fixtures__/checking/shouldFindRunningEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/shouldFindRunningEntryNested.ts b/src/timekeep/__fixtures__/checking/shouldFindRunningEntryNested.ts index 51cdd56..db50e11 100644 --- a/src/timekeep/__fixtures__/checking/shouldFindRunningEntryNested.ts +++ b/src/timekeep/__fixtures__/checking/shouldFindRunningEntryNested.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/shouldNotBeRunning.ts b/src/timekeep/__fixtures__/checking/shouldNotBeRunning.ts index 8109214..b2de9a0 100644 --- a/src/timekeep/__fixtures__/checking/shouldNotBeRunning.ts +++ b/src/timekeep/__fixtures__/checking/shouldNotBeRunning.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { Timekeep } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/checking/shouldNotFindRunningEntry.ts b/src/timekeep/__fixtures__/checking/shouldNotFindRunningEntry.ts index 761130f..158de1a 100644 --- a/src/timekeep/__fixtures__/checking/shouldNotFindRunningEntry.ts +++ b/src/timekeep/__fixtures__/checking/shouldNotFindRunningEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/duration/currentEndUnfinished.ts b/src/timekeep/__fixtures__/duration/currentEndUnfinished.ts index 45b3eab..d23416c 100644 --- a/src/timekeep/__fixtures__/duration/currentEndUnfinished.ts +++ b/src/timekeep/__fixtures__/duration/currentEndUnfinished.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/duration/nonStartedZeroDuration.ts b/src/timekeep/__fixtures__/duration/nonStartedZeroDuration.ts index 89ab353..219cc2f 100644 --- a/src/timekeep/__fixtures__/duration/nonStartedZeroDuration.ts +++ b/src/timekeep/__fixtures__/duration/nonStartedZeroDuration.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/duration/shouldGetEntryDuration.ts b/src/timekeep/__fixtures__/duration/shouldGetEntryDuration.ts index 2b73ec5..c9039a2 100644 --- a/src/timekeep/__fixtures__/duration/shouldGetEntryDuration.ts +++ b/src/timekeep/__fixtures__/duration/shouldGetEntryDuration.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/duration/totalDuration.ts b/src/timekeep/__fixtures__/duration/totalDuration.ts index 6223892..e5789df 100644 --- a/src/timekeep/__fixtures__/duration/totalDuration.ts +++ b/src/timekeep/__fixtures__/duration/totalDuration.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/extracting/codeblockContents.ts b/src/timekeep/__fixtures__/extracting/codeblockContents.ts index e8030bb..92a583f 100644 --- a/src/timekeep/__fixtures__/extracting/codeblockContents.ts +++ b/src/timekeep/__fixtures__/extracting/codeblockContents.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { Timekeep } from "@/timekeep/schema"; import { createCodeBlock } from "./createCodeBlock"; diff --git a/src/timekeep/__fixtures__/extracting/unclosedCodeBlock.ts b/src/timekeep/__fixtures__/extracting/unclosedCodeBlock.ts index ea187fe..f8c48b8 100644 --- a/src/timekeep/__fixtures__/extracting/unclosedCodeBlock.ts +++ b/src/timekeep/__fixtures__/extracting/unclosedCodeBlock.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { Timekeep } from "@/timekeep/schema"; import { createCodeBlock } from "./createCodeBlock"; diff --git a/src/timekeep/__fixtures__/hashing/hashDoesNotMatch.ts b/src/timekeep/__fixtures__/hashing/hashDoesNotMatch.ts index a047c1a..eb657cb 100644 --- a/src/timekeep/__fixtures__/hashing/hashDoesNotMatch.ts +++ b/src/timekeep/__fixtures__/hashing/hashDoesNotMatch.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/hashing/hashMatches.ts b/src/timekeep/__fixtures__/hashing/hashMatches.ts index db392be..5c45c0b 100644 --- a/src/timekeep/__fixtures__/hashing/hashMatches.ts +++ b/src/timekeep/__fixtures__/hashing/hashMatches.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_entry/addEmptyBlockName.ts b/src/timekeep/__fixtures__/manipulating/adding_entry/addEmptyBlockName.ts index 5f55467..69dc5a7 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_entry/addEmptyBlockName.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_entry/addEmptyBlockName.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_entry/addEntryToList.ts b/src/timekeep/__fixtures__/manipulating/adding_entry/addEntryToList.ts index d055264..01c51c8 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_entry/addEntryToList.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_entry/addEntryToList.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_entry/addNewEntry.ts b/src/timekeep/__fixtures__/manipulating/adding_entry/addNewEntry.ts index 8f99e6d..b445f41 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_entry/addNewEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_entry/addNewEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addConvertToGroup.ts b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addConvertToGroup.ts index 58791c3..02f71f2 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addConvertToGroup.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addConvertToGroup.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderExtendSubEntries.ts b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderExtendSubEntries.ts index f53dc0f..7a9d049 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderExtendSubEntries.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderExtendSubEntries.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderPopulateSubEntries.ts b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderPopulateSubEntries.ts index bc4f053..34916e9 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderPopulateSubEntries.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addFolderPopulateSubEntries.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addToGroupExtendSubEntries.ts b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addToGroupExtendSubEntries.ts index ce4a714..365cff9 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addToGroupExtendSubEntries.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/addToGroupExtendSubEntries.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameGroup.ts b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameGroup.ts index e4d86e9..194858f 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameGroup.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameGroup.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameSingle.ts b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameSingle.ts index 8151275..ff404f3 100644 --- a/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameSingle.ts +++ b/src/timekeep/__fixtures__/manipulating/adding_sub_entry/emptyNameCreatePartNameSingle.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/collapse/shouldNotCollapseSingleEntry.ts b/src/timekeep/__fixtures__/manipulating/collapse/shouldNotCollapseSingleEntry.ts index 2704003..8acd729 100644 --- a/src/timekeep/__fixtures__/manipulating/collapse/shouldNotCollapseSingleEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/collapse/shouldNotCollapseSingleEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseFalse.ts b/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseFalse.ts index 4b13b61..8ba1451 100644 --- a/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseFalse.ts +++ b/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseFalse.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntryGroup } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseTrue.ts b/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseTrue.ts index 4b13b61..8ba1451 100644 --- a/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseTrue.ts +++ b/src/timekeep/__fixtures__/manipulating/collapse/shouldUpdateCollapseTrue.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntryGroup } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntry.ts b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntry.ts index bb4c00c..42e92b5 100644 --- a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapse.ts b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapse.ts index d478b67..2c2d2c0 100644 --- a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapse.ts +++ b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapse.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapseSingle.ts b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapseSingle.ts index 351dffe..b60f92c 100644 --- a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapseSingle.ts +++ b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryCollapseSingle.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryFolder.ts b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryFolder.ts index 901da01..2ea2ccd 100644 --- a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryFolder.ts +++ b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntryFolder.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntrySuccess.ts b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntrySuccess.ts index 48bfff1..a5bd408 100644 --- a/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntrySuccess.ts +++ b/src/timekeep/__fixtures__/manipulating/remove_entry/removeEntrySuccess.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/remove_entry/removeNestedEntry.ts b/src/timekeep/__fixtures__/manipulating/remove_entry/removeNestedEntry.ts index 31b4489..9958757 100644 --- a/src/timekeep/__fixtures__/manipulating/remove_entry/removeNestedEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/remove_entry/removeNestedEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/remove_entry/removeSingleEntry.ts b/src/timekeep/__fixtures__/manipulating/remove_entry/removeSingleEntry.ts index ae15e56..94b6ad7 100644 --- a/src/timekeep/__fixtures__/manipulating/remove_entry/removeSingleEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/remove_entry/removeSingleEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/start_entry/startNestedFolderEntry.ts b/src/timekeep/__fixtures__/manipulating/start_entry/startNestedFolderEntry.ts index 25765eb..d0f6f4f 100644 --- a/src/timekeep/__fixtures__/manipulating/start_entry/startNestedFolderEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/start_entry/startNestedFolderEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/start_entry/startNestedNonExistent.ts b/src/timekeep/__fixtures__/manipulating/start_entry/startNestedNonExistent.ts index 0c27559..e04da92 100644 --- a/src/timekeep/__fixtures__/manipulating/start_entry/startNestedNonExistent.ts +++ b/src/timekeep/__fixtures__/manipulating/start_entry/startNestedNonExistent.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/start_entry/startNestedShouldStopRunning.ts b/src/timekeep/__fixtures__/manipulating/start_entry/startNestedShouldStopRunning.ts index b91bad5..f2f0a6d 100644 --- a/src/timekeep/__fixtures__/manipulating/start_entry/startNestedShouldStopRunning.ts +++ b/src/timekeep/__fixtures__/manipulating/start_entry/startNestedShouldStopRunning.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/start_entry/startNotStartedEntry.ts b/src/timekeep/__fixtures__/manipulating/start_entry/startNotStartedEntry.ts index 6b96dba..137b396 100644 --- a/src/timekeep/__fixtures__/manipulating/start_entry/startNotStartedEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/start_entry/startNotStartedEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/start_entry/startShouldStopRunning.ts b/src/timekeep/__fixtures__/manipulating/start_entry/startShouldStopRunning.ts index 9d324da..6e85d3c 100644 --- a/src/timekeep/__fixtures__/manipulating/start_entry/startShouldStopRunning.ts +++ b/src/timekeep/__fixtures__/manipulating/start_entry/startShouldStopRunning.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/stopping_entries/stopRunningEntries.ts b/src/timekeep/__fixtures__/manipulating/stopping_entries/stopRunningEntries.ts index e51d22e..7be8bd0 100644 --- a/src/timekeep/__fixtures__/manipulating/stopping_entries/stopRunningEntries.ts +++ b/src/timekeep/__fixtures__/manipulating/stopping_entries/stopRunningEntries.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/manipulating/update_entry/updateEntry.ts b/src/timekeep/__fixtures__/manipulating/update_entry/updateEntry.ts index 73f58fb..f407aec 100644 --- a/src/timekeep/__fixtures__/manipulating/update_entry/updateEntry.ts +++ b/src/timekeep/__fixtures__/manipulating/update_entry/updateEntry.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/ordering/newestFirstOrder.ts b/src/timekeep/__fixtures__/ordering/newestFirstOrder.ts index 49d25f5..0622940 100644 --- a/src/timekeep/__fixtures__/ordering/newestFirstOrder.ts +++ b/src/timekeep/__fixtures__/ordering/newestFirstOrder.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/ordering/newestLastNullsFirst.ts b/src/timekeep/__fixtures__/ordering/newestLastNullsFirst.ts index f19a21d..251db4e 100644 --- a/src/timekeep/__fixtures__/ordering/newestLastNullsFirst.ts +++ b/src/timekeep/__fixtures__/ordering/newestLastNullsFirst.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/ordering/newestLastOrder.ts b/src/timekeep/__fixtures__/ordering/newestLastOrder.ts index 941d288..340dfa1 100644 --- a/src/timekeep/__fixtures__/ordering/newestLastOrder.ts +++ b/src/timekeep/__fixtures__/ordering/newestLastOrder.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/ordering/orderShouldNotChange.ts b/src/timekeep/__fixtures__/ordering/orderShouldNotChange.ts index 004a888..6f9a3c5 100644 --- a/src/timekeep/__fixtures__/ordering/orderShouldNotChange.ts +++ b/src/timekeep/__fixtures__/ordering/orderShouldNotChange.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/ordering/reverseOrder.ts b/src/timekeep/__fixtures__/ordering/reverseOrder.ts index 6e54889..50b8443 100644 --- a/src/timekeep/__fixtures__/ordering/reverseOrder.ts +++ b/src/timekeep/__fixtures__/ordering/reverseOrder.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/__fixtures__/path/pathNotFound.ts b/src/timekeep/__fixtures__/path/pathNotFound.ts index a392986..24d8d85 100644 --- a/src/timekeep/__fixtures__/path/pathNotFound.ts +++ b/src/timekeep/__fixtures__/path/pathNotFound.ts @@ -1,4 +1,5 @@ import moment from "moment"; + import { TimeEntry } from "@/timekeep/schema"; export const currentTime = moment(); diff --git a/src/timekeep/create.test.ts b/src/timekeep/create.test.ts index 7059cbb..ce5ac7e 100644 --- a/src/timekeep/create.test.ts +++ b/src/timekeep/create.test.ts @@ -1,8 +1,8 @@ import moment from "moment"; +import { expect, it, describe } from "vitest"; import { withEntry, createEntry, withSubEntry } from "./create"; import { stripEntryRuntimeData, stripEntriesRuntimeData } from "./schema"; -import { expect, it, describe } from "vitest"; describe("createEntry", () => { it("creating entry should use current time", () => { diff --git a/src/timekeep/create.ts b/src/timekeep/create.ts index 404d411..4b8152a 100644 --- a/src/timekeep/create.ts +++ b/src/timekeep/create.ts @@ -1,7 +1,9 @@ -import { v4 as uuid } from "uuid"; import type { Moment } from "moment"; -import { isEmptyString } from "@/utils"; + +import { v4 as uuid } from "uuid"; + import { TimeEntry, TimeEntryGroup } from "@/timekeep/schema"; +import { isEmptyString } from "@/utils"; /** * Creates a new entry that has just started diff --git a/src/timekeep/parser.test.ts b/src/timekeep/parser.test.ts index 5f019b5..096e777 100644 --- a/src/timekeep/parser.test.ts +++ b/src/timekeep/parser.test.ts @@ -1,6 +1,6 @@ import moment from "moment"; +import { expect, it, describe, vi } from "vitest"; -import { Timekeep, stripTimekeepRuntimeData } from "./schema"; import { load, LoadError, @@ -8,7 +8,7 @@ import { replaceTimekeepCodeblock, extractTimekeepCodeblocks, } from "./parser"; -import { expect, it, describe, vi } from "vitest"; +import { Timekeep, stripTimekeepRuntimeData } from "./schema"; /** * Generates a code block surrounding the provided JSON diff --git a/src/timekeep/parser.ts b/src/timekeep/parser.ts index df89e77..8eacc33 100644 --- a/src/timekeep/parser.ts +++ b/src/timekeep/parser.ts @@ -1,5 +1,5 @@ -import { isEmptyString } from "@/utils"; import { TIMEKEEP, Timekeep, stripTimekeepRuntimeData } from "@/timekeep/schema"; +import { isEmptyString } from "@/utils"; export type LoadResult = LoadSuccess | LoadError; diff --git a/src/timekeep/queries.test.ts b/src/timekeep/queries.test.ts index 46c4de4..9dbd939 100644 --- a/src/timekeep/queries.test.ts +++ b/src/timekeep/queries.test.ts @@ -1,3 +1,5 @@ +import { expect, it, describe } from "vitest"; + import { getEntryById, isKeepRunning, @@ -7,7 +9,6 @@ import { getEntryDuration, getTotalDuration, } from "./queries"; -import { expect, it, describe } from "vitest"; describe("getEntryById", () => { it("find top level entry", async () => { diff --git a/src/timekeep/queries.ts b/src/timekeep/queries.ts index b3a0acb..bfa8996 100644 --- a/src/timekeep/queries.ts +++ b/src/timekeep/queries.ts @@ -1,4 +1,5 @@ import type { Moment } from "moment"; + import { Timekeep, TimeEntry } from "@/timekeep/schema"; /** diff --git a/src/timekeep/schema.test.ts b/src/timekeep/schema.test.ts index 7894a86..78bdee5 100644 --- a/src/timekeep/schema.test.ts +++ b/src/timekeep/schema.test.ts @@ -1,8 +1,9 @@ import moment from "moment"; import { v4 as uuid } from "uuid"; -import { TIMEKEEP } from "@/timekeep/schema"; import { expect, it, describe, vi } from "vitest"; +import { TIMEKEEP } from "@/timekeep/schema"; + vi.mock(import("uuid"), async (importOriginal) => { return { ...(await importOriginal()), diff --git a/src/timekeep/schema.ts b/src/timekeep/schema.ts index a5cf534..cdd13be 100644 --- a/src/timekeep/schema.ts +++ b/src/timekeep/schema.ts @@ -1,6 +1,6 @@ -import { z } from "zod"; import moment from "moment"; import { v4 as uuid } from "uuid"; +import { z } from "zod"; /* * This file contains the strict schema for parsing timekeep data diff --git a/src/timekeep/sort.test.ts b/src/timekeep/sort.test.ts index 5fd6485..84115cb 100644 --- a/src/timekeep/sort.test.ts +++ b/src/timekeep/sort.test.ts @@ -1,5 +1,7 @@ -import { SortOrder, UnstartedOrder, defaultSettings, TimekeepSettings } from "@/settings"; import { expect, it, describe } from "vitest"; + +import { SortOrder, UnstartedOrder, defaultSettings, TimekeepSettings } from "@/settings"; + import { getEntriesSorted } from "./sort"; describe("getEntriesSorted", () => { diff --git a/src/timekeep/sort.ts b/src/timekeep/sort.ts index 5ff9239..9f1b671 100644 --- a/src/timekeep/sort.ts +++ b/src/timekeep/sort.ts @@ -1,5 +1,5 @@ -import { TimeEntry } from "@/timekeep/schema"; import { SortOrder, UnstartedOrder, TimekeepSettings } from "@/settings"; +import { TimeEntry } from "@/timekeep/schema"; import { getStartTime } from "./queries"; diff --git a/src/timekeep/start.test.ts b/src/timekeep/start.test.ts index 7ddb77d..1683403 100644 --- a/src/timekeep/start.test.ts +++ b/src/timekeep/start.test.ts @@ -1,6 +1,7 @@ +import { expect, it, describe } from "vitest"; + import { stripEntriesRuntimeData } from "./schema"; import { startNewEntry, startNewNestedEntry } from "./start"; -import { expect, it, describe } from "vitest"; describe("startNewEntry", () => { it("starting a new entry should stop any running entries", async () => { diff --git a/src/timekeep/start.ts b/src/timekeep/start.ts index a073027..24cac3d 100644 --- a/src/timekeep/start.ts +++ b/src/timekeep/start.ts @@ -1,9 +1,10 @@ import type { Moment } from "moment"; + import { TimeEntry } from "@/timekeep/schema"; +import { withEntry, createEntry, withSubEntry } from "./create"; import { getEntryById } from "./queries"; import { updateEntry, stopRunningEntries } from "./update"; -import { withEntry, createEntry, withSubEntry } from "./create"; /** * Start a new entry in the provided set of entires diff --git a/src/timekeep/update.test.ts b/src/timekeep/update.test.ts index e96f5e8..4154b1b 100644 --- a/src/timekeep/update.test.ts +++ b/src/timekeep/update.test.ts @@ -1,3 +1,5 @@ +import { expect, it, describe } from "vitest"; + import { TimeEntryGroup } from "./schema"; import { updateEntry, @@ -6,7 +8,6 @@ import { setEntryCollapsed, stopRunningEntries, } from "./update"; -import { expect, it, describe } from "vitest"; describe("updateEntry", () => { it("updating existing entry should succeed", async () => { diff --git a/src/timekeep/update.ts b/src/timekeep/update.ts index 706fa52..07610c3 100644 --- a/src/timekeep/update.ts +++ b/src/timekeep/update.ts @@ -1,4 +1,5 @@ import type { Moment } from "moment"; + import { TimeEntry } from "@/timekeep/schema"; /** diff --git a/src/utils/name.test.ts b/src/utils/name.test.ts index d8cb993..ba7cf8a 100644 --- a/src/utils/name.test.ts +++ b/src/utils/name.test.ts @@ -1,6 +1,7 @@ -import { NameSegmentType, parseNameSegments } from "./name"; import { expect, it, describe } from "vitest"; +import { NameSegmentType, parseNameSegments } from "./name"; + describe("parseNameSegments", () => { it("should parse plain text without modification", () => { const input = "Hello World"; diff --git a/src/utils/time.test.ts b/src/utils/time.test.ts index 0dead5b..6466707 100644 --- a/src/utils/time.test.ts +++ b/src/utils/time.test.ts @@ -1,4 +1,6 @@ import moment from "moment"; +import { expect, it, test, describe } from "vitest"; + import { DurationFormat, defaultSettings, TimekeepSettings } from "@/settings"; import { @@ -13,8 +15,6 @@ import { formatEditableTimestamp, } from "./time"; -import { expect, it, test, describe } from "vitest"; - it("should format time", () => { const input = moment("2024-03-31T02:34:45.413Z").utc(); const expected = "24-03-31 02:34:45"; diff --git a/src/utils/time.ts b/src/utils/time.ts index b88dd9d..798aef8 100644 --- a/src/utils/time.ts +++ b/src/utils/time.ts @@ -1,4 +1,5 @@ import moment, { Moment } from "moment"; + import { DurationFormat, TimekeepSettings } from "@/settings"; /** diff --git a/src/views/timekeep-locator-modal.ts b/src/views/timekeep-locator-modal.ts index 3c76ed9..4099857 100644 --- a/src/views/timekeep-locator-modal.ts +++ b/src/views/timekeep-locator-modal.ts @@ -1,7 +1,8 @@ -import { getRunningEntry } from "@/timekeep"; import { App, TFile, SuggestModal } from "obsidian"; -import { Timekeep, TimeEntry } from "@/timekeep/schema"; + +import { getRunningEntry } from "@/timekeep"; import { extractTimekeepCodeblocks } from "@/timekeep/parser"; +import { Timekeep, TimeEntry } from "@/timekeep/schema"; interface TimekeepResult { timekeep: Timekeep; diff --git a/src/views/timekeep-markdown-view.ts b/src/views/timekeep-markdown-view.ts index 76065d1..add6fcb 100644 --- a/src/views/timekeep-markdown-view.ts +++ b/src/views/timekeep-markdown-view.ts @@ -1,13 +1,14 @@ import moment from "moment"; -import { Store, createStore } from "@/store"; import { App as ObsidianApp } from "obsidian"; -import { TimekeepSettings } from "@/settings"; -import { CustomOutputFormat } from "@/output"; -import { Timekeep, stripTimekeepRuntimeData } from "@/timekeep/schema"; -import { LoadResult, replaceTimekeepCodeblock } from "@/timekeep/parser"; import { TFile, TAbstractFile, MarkdownRenderChild, MarkdownPostProcessorContext } from "obsidian"; + import { Timesheet } from "@/components/timesheet"; import { TimesheetLoadError } from "@/components/timesheetLoadError"; +import { CustomOutputFormat } from "@/output"; +import { TimekeepSettings } from "@/settings"; +import { Store, createStore } from "@/store"; +import { LoadResult, replaceTimekeepCodeblock } from "@/timekeep/parser"; +import { Timekeep, stripTimekeepRuntimeData } from "@/timekeep/schema"; export class TimekeepMarkdownView extends MarkdownRenderChild { // Obsidian app instance diff --git a/src/views/timekeep-merger-modal.ts b/src/views/timekeep-merger-modal.ts index dcd993b..7c2e96f 100644 --- a/src/views/timekeep-merger-modal.ts +++ b/src/views/timekeep-merger-modal.ts @@ -1,10 +1,11 @@ -import { Store } from "@/store"; +import { App, TFile, Modal, TextComponent, ButtonComponent } from "obsidian"; import { v4 as uuid } from "uuid"; + import { exportPdf } from "@/export/pdf"; import { TimekeepSettings } from "@/settings"; +import { Store } from "@/store"; import { extractTimekeepCodeblocks } from "@/timekeep/parser"; import { Timekeep, stripTimekeepRuntimeData } from "@/timekeep/schema"; -import { App, TFile, Modal, TextComponent, ButtonComponent } from "obsidian"; interface TimekeepResult { timekeep: Timekeep; diff --git a/vite.config.js b/vite.config.js index 74bead2..e9b52a0 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,7 @@ -import { defineConfig } from "vite"; import { builtinModules } from "module"; import path from "path"; import { fileURLToPath } from "url"; +import { defineConfig } from "vite"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename);