super-productivity/tsconfig.base.json
Maikel Hajiabadi ec16757c82
fix(keyboard): resolve macOS global shortcut layout mismatch (#8378) (#8381)
* fix(keyboard): resolve macOS global shortcut layout mismatch (#8378)

* fix(keyboard-layout): log layout-detection failure and resolve layoutReady with map copy

* fix(keyboard-shortcut): remove debug console logs and add macOS scope comment

* fix(keyboard-shortcut): preserve modifier separator when mapping plus key shortcut

* refactor(keyboard-shortcut): export mapping helpers and avoid as any cast in configuration mapping

* test(keyboard-shortcut): add unit tests for layout shortcut translation logic

* test(keyboard-shortcut): use correct KeyboardConfig type instead of as any in test fixture

* docs(keyboard-shortcut): hoist macOS physical shortcut layout comments to helper JSDoc

* refactor(config): extract global shortcut keys and mapping helpers

* test: add test helper capability for IS_ELECTRON and IS_MAC

* test: add comprehensive integration unit tests for global shortcut effects

* feat(electron): eagerly trigger layout detection on Electron startup for macOS timing fix

* refactor(config): InjectionToken migration, layout detection hardening, and startup optimization

* refactor: address non-blocking suggestions for layout detection and DI tokens

* build(electron): move keyboard-config.model to shared-with-frontend to fix ASAR require

* fix(client-id): increase entropy to 6 chars and fix related test regressions
2026-06-17 12:57:47 +02:00

55 lines
2.2 KiB
JSON

{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"skipLibCheck": true,
"module": "preserve",
"moduleResolution": "bundler",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"strict": true,
"strictNullChecks": true,
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noUnusedLocals": false,
"noImplicitAny": false,
"noImplicitOverride": true,
"strictPropertyInitialization": true,
"useDefineForClassFields": false,
"target": "ES2022",
"resolveJsonModule": true,
"typeRoots": ["node_modules/@types"],
"lib": ["es2022", "dom"],
"paths": {
"@super-productivity/plugin-api": ["packages/plugin-api/src/index.ts"],
"@sp/shared-schema": ["packages/shared-schema/src/index.ts"],
"@sp/sync-core": ["packages/sync-core/src/index.ts"],
"@sp/sync-providers/dropbox": ["packages/sync-providers/src/dropbox.ts"],
"@sp/sync-providers/webdav": ["packages/sync-providers/src/webdav.ts"],
"@sp/sync-providers/local-file": ["packages/sync-providers/src/local-file.ts"],
"@sp/sync-providers/super-sync": ["packages/sync-providers/src/super-sync.ts"],
"@sp/sync-providers/http": ["packages/sync-providers/src/http.ts"],
"@sp/sync-providers/errors": ["packages/sync-providers/src/errors.ts"],
"@sp/sync-providers/credential-store": [
"packages/sync-providers/src/credential-store.ts"
],
"@sp/sync-providers/file-based": ["packages/sync-providers/src/file-based.ts"],
"@sp/sync-providers/pkce": ["packages/sync-providers/src/pkce.ts"],
"@sp/sync-providers/platform": ["packages/sync-providers/src/platform.ts"],
"@sp/sync-providers/provider-types": [
"packages/sync-providers/src/provider-types.ts"
],
"@sp/sync-providers/log": ["packages/sync-providers/src/log.ts"],
"@sp/sync-providers/onedrive": ["packages/sync-providers/src/onedrive.ts"],
"@sp/keyboard-config": ["electron/shared-with-frontend/keyboard-config.model.ts"]
},
"plugins": [
{
"transform": "typia/lib/transform"
}
]
}
}