mirror of
https://github.com/onlyworlds/obsidian-plugin.git
synced 2026-07-22 11:00:31 +00:00
Major rebuild. Plugin now uses @onlyworlds/sdk for API calls via Obsidian's requestUrl, native PluginSettingTab for configuration, and a debounced auto-sync engine that pushes element edits to onlyworlds.com after idle. Changes - Drop handrolled API code; route all writes through @onlyworlds/sdk subclass - Native settings tab: API key, PIN, default world, sync mode, debounce - PIN handling: persist in settings or cache per session; no per-save prompts - Auto-sync toggle with configurable debounce (default 3s) - Status bar + ribbon icon reflect sync state (idle/dirty/syncing/synced/error) - Ribbon click opens menu (Sync / Settings / About) instead of firing sync - Settings API key wins over per-world World.md (legacy fallback preserved) - Add Map, Pin, Marker to element category enum (now 22) - ESLint config (eslint-plugin-obsidianmd) scoped to new code - Modernize build: TS 5.8, esbuild 0.25, stricter tsconfig - Drop dead code: GraphViewExtensions, dead command imports, handleApiError Compatibility - Existing v1 vaults work unchanged. Span-tag format preserved. - OnlyWorlds/Settings.md still readable; new settings tab takes precedence. - isDesktopOnly: true. Mobile pending verification.
30 lines
569 B
JSON
30 lines
569 B
JSON
{
|
|
"compilerOptions": {
|
|
"baseUrl": ".",
|
|
"inlineSourceMap": true,
|
|
"inlineSources": true,
|
|
"module": "ESNext",
|
|
"target": "ES6",
|
|
"allowJs": true,
|
|
"noImplicitAny": true,
|
|
"noImplicitThis": true,
|
|
"noImplicitReturns": true,
|
|
"moduleResolution": "node",
|
|
"importHelpers": true,
|
|
"isolatedModules": true,
|
|
"strictNullChecks": true,
|
|
"strictBindCallApply": true,
|
|
"esModuleInterop": true,
|
|
"allowSyntheticDefaultImports": true,
|
|
"useUnknownInCatchVariables": true,
|
|
"lib": [
|
|
"DOM",
|
|
"ES5",
|
|
"ES6",
|
|
"ES7"
|
|
]
|
|
},
|
|
"include": [
|
|
"**/*.ts"
|
|
]
|
|
}
|