Skip to content

Instantly share code, notes, and snippets.

@aryanshridhar
Last active April 22, 2022 05:22
Show Gist options
  • Save aryanshridhar/0dc9f8cf4e0c202ce1e1b6027928ab46 to your computer and use it in GitHub Desktop.
Save aryanshridhar/0dc9f8cf4e0c202ce1e1b6027928ab46 to your computer and use it in GitHub Desktop.
Modules to migrate for contextIsolation in renderer process (electron fiddle)

Early work

  • ipc - ipcRendererManager to preload script.

Renderer Modules

Entire logic to migrate

File Function IPC Event
binary Entire module to be handled by fiddle-core in main process
bisect Entire module to be handled by fiddle-core in main process
electron-types ElectronTypes class All it's functions to IPC events
file-manager FileManager class All it's functions to IPC events
runner Runner class Few of its functions to IPC events and rest by fiddle-core
task-runner TaskRunner class Few of its functions to IPC events and rest by fiddle-core
themes
  • readThemeFile
  • getAvailableThemes
  • IPC.READ_THEME_FILE
  • IPC.AVAILABLE_THEMES
content
  • prepareTemplate
  • IPC.PREPARE_TEMPLATE

API to migrate

File API IPC Event
app
  • path.join
  • IPC.JOIN_PATH
constants
  • path.join
  • IPC.JOIN_PATH
state
  • fs.existsSync
  • IPC.CHECK_FILE_EXISTS
template
  • path.join
  • IPC.JOIN_PATH

All Node APIs in renderer process

  • state - fs.existsSync
  • themes - fs.readJSON,fs.existsSync,fs.readdir,path.join
  • binary - fs.existsSync,fs.mkdirp,fs.emptyDir,fs.remove,path.join
  • content - fs.existsSync,fs.writeFile,fs.ensureDir,fs.remove,path.join,path.resolve
  • constants - path.join
  • templates - path.join (Note to self: Present in utils folder)
  • runner - path.join,child_process.spawn,child_process.ChildProcess (interface),shell.showItemInFolder
  • file-manager - fs.existsSync,fs.remove,fs.outputFile,path.join
  • electron-types - fs.removeSync,fs.readFileSync,fs.existsSync,fs.outputFileSync,path.join,node-watch

Utils

Entire logic to migrate

File Function IPC Event
read-fiddle
  • readFiddle
  • IPC.READ_FIDDLE
get-name
  • getName
  • IPC.PROJECT_NAME
exec
  • exec
  • maybeFixPath
  • IPC.EXEC_COMMAND
  • IPC.FIX_PATH_VARIABLE

API to migrate

File API IPC Event
get-username
  • os.userInfo
  • IPC.OS_INFO
editor-utils
  • path.parse
  • IPC.PARSE_FILE
get-package
  • path.join
  • IPC.JOIN_PATH

Components

File API IPC Event
commands-action-button
  • clipboard.writeText
  • IPC.CLIPBOARD_WRITE
dialog-add-theme
  • shell.showItemInFolder
  • fs.readJSONSync
  • fs.outputJSON
  • path.join
  • IPC.SHOW_ITEM_IN_FOLDER
  • IPC.READ_JSON_SYNC
  • IPC.OUTPUT_JSON
  • IPC.JOIN_PATH
dialog-token
  • clipboard.readText
  • shell.openExternal
  • IPC.CLIPBOARD_READ_TEXT
  • IPC.OPEN_EXTERNAL
settings-credit
  • shell.openExternal
  • fs.readJSON
  • path.join
  • IPC.OPEN_EXTERNAL
  • IPC.READ_JSON
  • IPC.JOIN_PATH
settings-general-appearance
  • fs.outputJSON
  • fs.ensureDir
  • path.join
  • shell.showItemInFolder
  • IPC.OUTPUT_JSON
  • IPC.ENSURE_DIRECTORY
  • IPC.JOIN_PATH
  • IPC.SHOW_ITEM_IN_FOLDER
version-select
  • clipboard.writeText
  • IPC.CLIPBOARD_WRITE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment