* chore: building out perf testing * chore: adding my printing code for the different formats of the marks * feat: adding invocation count table * fix: markOnce iunstead * fix: typescript additions * fix: adding more types * chore: adding telemetry panel as MVP, gonna remove the pane * chore: view telemetry from command bar in file route and home route * fix: deleting unused imports * fix: deleting some unused files * fix: auto cleanup * chore: adding other routes, these will need to be moved... * chore: moving some printing logic around and unit testing some of it * fix: moving command init * fix: removing debugging marks * fix: adding some comments * fix: fixed a bug with generating the go to page commands * chore: adding will pages load within the router config * chore: implementing marks for routes * fix: auto fixes and checkers * chore: implemented a route watcher at the root level... * fix: auto fixes, removing unused code * chore: timing for syntax highlighting and auto fixes * fix: didAuth issue and syntax highlighting in the packaged application. Constructor name gets renamed * fix: fixing typescript checks * chore: adding mag bar chart icon for telemetry * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * chore: swapped telemetry icon for stopwatch * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * chore: writing telemetry to disk * fix: auto fixers * chore: getting args parsed for cli flags and writing telemetry file * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * chore: swapped mark for markOnce since we infinitely write marks to a JS array... need to solve this run time marking in another way. We only need this for startup right now * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * chore: writing raw marks to disk as well * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest) * fix: cleaned up the testing names * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest) * Fix fmt and codespell * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores) * fix: moving this route loader data stuff * chore: adding comment * fix: fmt * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores) * empty :( * A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores) * empty :( --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: 49fl <ircsurfer33@gmail.com>
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import fs from 'node:fs/promises'
 | 
						|
import fsSync from 'node:fs'
 | 
						|
import path from 'path'
 | 
						|
import { dialog, shell } from 'electron'
 | 
						|
import { MachinesListing } from 'components/MachineManagerProvider'
 | 
						|
 | 
						|
type EnvFn = (value?: string) => string
 | 
						|
 | 
						|
export interface IElectronAPI {
 | 
						|
  open: typeof dialog.showOpenDialog
 | 
						|
  save: typeof dialog.showSaveDialog
 | 
						|
  openExternal: typeof shell.openExternal
 | 
						|
  showInFolder: typeof shell.showItemInFolder
 | 
						|
  /** Require to be called first before {@link loginWithDeviceFlow} */
 | 
						|
  startDeviceFlow: (host: string) => Promise<string>
 | 
						|
  /** Registered by first calling {@link startDeviceFlow}, which sets up the device flow handle */
 | 
						|
  loginWithDeviceFlow: () => Promise<string>
 | 
						|
  platform: typeof process.env.platform
 | 
						|
  arch: typeof process.env.arch
 | 
						|
  version: typeof process.env.version
 | 
						|
  watchFileOn: (
 | 
						|
    path: string,
 | 
						|
    key: string,
 | 
						|
    callback: (eventType: string, path: string) => void
 | 
						|
  ) => void
 | 
						|
  readFile: typeof fs.readFile
 | 
						|
  watchFileOff: (path: string, key: string) => void
 | 
						|
  writeFile: (
 | 
						|
    path: string,
 | 
						|
    data: string | Uint8Array
 | 
						|
  ) => ReturnType<fs.writeFile>
 | 
						|
  readdir: (path: string) => ReturnType<fs.readdir>
 | 
						|
  exists: (path: string) => ReturnType<fs.exists>
 | 
						|
  getPath: (name: string) => Promise<string>
 | 
						|
  rm: typeof fs.rm
 | 
						|
  stat: (path: string) => ReturnType<fs.stat>
 | 
						|
  statIsDirectory: (path: string) => Promise<boolean>
 | 
						|
  path: typeof path
 | 
						|
  mkdir: typeof fs.mkdir
 | 
						|
  join: typeof path.join
 | 
						|
  sep: typeof path.sep
 | 
						|
  rename: (prev: string, next: string) => typeof fs.rename
 | 
						|
  packageJson: {
 | 
						|
    name: string
 | 
						|
  }
 | 
						|
  os: {
 | 
						|
    isMac: boolean
 | 
						|
    isWindows: boolean
 | 
						|
    isLinux: boolean
 | 
						|
  }
 | 
						|
  process: {
 | 
						|
    env: {
 | 
						|
      BASE_URL: string
 | 
						|
      TEST_SETTINGS_FILE_KEY: string
 | 
						|
      IS_PLAYWRIGHT: string
 | 
						|
      VITE_KC_DEV_TOKEN: string
 | 
						|
      VITE_KC_API_WS_MODELING_URL: string
 | 
						|
      VITE_KC_API_BASE_URL: string
 | 
						|
      VITE_KC_SITE_BASE_URL: string
 | 
						|
      VITE_KC_SKIP_AUTH: string
 | 
						|
      VITE_KC_CONNECTION_TIMEOUT_MS: string
 | 
						|
      VITE_KC_DEV_TOKEN: string
 | 
						|
      NODE_ENV: string
 | 
						|
      PROD: string
 | 
						|
      DEV: string
 | 
						|
      TEST: string
 | 
						|
      CI: string
 | 
						|
    }
 | 
						|
  }
 | 
						|
  kittycad: (access: string, args: any) => any
 | 
						|
  listMachines: (machineApiIp: string) => Promise<MachinesListing>
 | 
						|
  getMachineApiIp: () => Promise<string | null>
 | 
						|
  onUpdateDownloadStart: (
 | 
						|
    callback: (value: { version: string }) => void
 | 
						|
  ) => Electron.IpcRenderer
 | 
						|
  onUpdateDownloaded: (
 | 
						|
    callback: (value: { version: string; releaseNotes: string }) => void
 | 
						|
  ) => Electron.IpcRenderer
 | 
						|
  onUpdateError: (callback: (value: { error: Error }) => void) => Electron
 | 
						|
  appRestart: () => void
 | 
						|
  getArgvParsed: () => any
 | 
						|
}
 | 
						|
 | 
						|
declare global {
 | 
						|
  interface Window {
 | 
						|
    electron: IElectronAPI
 | 
						|
  }
 | 
						|
}
 |