actually do some work on discord_native

master
Drake 2 years ago
parent dd195ba15a
commit b606e2b0e4

@ -25,6 +25,7 @@
"cli-truncate": "^3.1.0",
"electron-context-menu": "^3.1.1",
"electron-dl": "^3.3.0",
"electron-dynamic-preload": "^0.3.0",
"electron-is-dev": "^2.0.0",
"electron-squirrel-startup": "^1.0.0",
"escape-goat": "^4.0.0",

@ -10,6 +10,7 @@ specifiers:
electron: ^14.0.0
electron-context-menu: ^3.1.1
electron-dl: ^3.3.0
electron-dynamic-preload: ^0.3.0
electron-is-dev: ^2.0.0
electron-squirrel-startup: ^1.0.0
escape-goat: ^4.0.0
@ -28,6 +29,7 @@ dependencies:
cli-truncate: 3.1.0
electron-context-menu: 3.1.1
electron-dl: 3.3.0
electron-dynamic-preload: 0.3.0
electron-is-dev: 2.0.0
electron-squirrel-startup: 1.0.0
escape-goat: 4.0.0
@ -1162,6 +1164,10 @@ packages:
unused-filename: 2.1.0
dev: false
/electron-dynamic-preload/0.3.0:
resolution: {integrity: sha1-Tov6sb5Voa9ctI3pKYTMKvRviwA=}
dev: false
/electron-installer-common/0.10.3:
resolution: {integrity: sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==}
engines: {node: '>= 10.0.0'}

@ -6,18 +6,21 @@ const Modules = require("./modules")
let loader = Init.bootstrap()
//TODO: actually do things with the loader
let options = loader.getOptions()
let options = loader.getOptions() + {
Modules
}
loader.destroySplash()
global.DiscordNative = {
/*global.DiscordNative = {
nativeModules: {
ensureModule: (name) => {return true /* TODO: ensure stuff */},
ensureModule: (name) => {return true /* TODO: ensure stuff * /},
requireModule: (name) => {if (Modules[name]) return Modules[name]; else throw `Error: Cannot find module '${name}'`;}
}
}
}*/
const ddc = DiscordNative.nativeModules.requireModule("discord_desktop_core")
//const ddc = DiscordNative.nativeModules.requireModule("discord_desktop_core")
const ddc = Modules["discord_desktop_core"]
ddc.startup({
options

@ -3,12 +3,17 @@
"selected": 1
},
"1 error pnpm": {
"code": "ERR_PNPM_NO_SCRIPT",
"errno": 1,
"code": "ELIFECYCLE",
"pkgid": "drakecord@1.0.0",
"stage": "make",
"script": "electron-forge make",
"pkgname": "drakecord",
"err": {
"name": "pnpm",
"message": "Missing script: build",
"code": "ERR_PNPM_NO_SCRIPT",
"stack": "pnpm: Missing script: build\n at Object.handler (/usr/lib/node_modules/pnpm/dist/pnpm.cjs:178500:15)\n at async /usr/lib/node_modules/pnpm/dist/pnpm.cjs:182688:21\n at async run (/usr/lib/node_modules/pnpm/dist/pnpm.cjs:182662:34)\n at async runPnpm (/usr/lib/node_modules/pnpm/dist/pnpm.cjs:182874:5)\n at async /usr/lib/node_modules/pnpm/dist/pnpm.cjs:182866:7"
"message": "drakecord@1.0.0 make: `electron-forge make`\nExit status 1",
"code": "ELIFECYCLE",
"stack": "pnpm: drakecord@1.0.0 make: `electron-forge make`\nExit status 1\n at EventEmitter.<anonymous> (/usr/lib/node_modules/pnpm/dist/pnpm.cjs:103873:20)\n at EventEmitter.emit (node:events:527:28)\n at ChildProcess.<anonymous> (/usr/lib/node_modules/pnpm/dist/pnpm.cjs:91802:18)\n at ChildProcess.emit (node:events:527:28)\n at maybeClose (node:internal/child_process:1090:16)\n at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)"
}
}
}

@ -1,20 +1,18 @@
const process = require("process")
//const Modules = require("../../index.js")
const app = require("./renderer")
const {
app
} = require("renderer")
//const Modules = global.opts.Modules
const env = process.env
let DiscordNative = {
app,
remoteApp: app,
isRenderer: true,
/*nativeModules: {
ensureModule: (name) => {return true /* TODO: ensure stuff \*\/},
nativeModules: {
ensureModule: (name) => {return !!Modules[name]},
requireModule: (name) => {if (Modules[name]) return Modules[name]; else throw `Error: Cannot find module '${name}'`;}
},*/
},
'process': {
platform: process.platform,
arch: process.arch,
@ -25,6 +23,14 @@ let DiscordNative = {
PROGRAMW6432: env['PROGRAMW6432'],
PROGRAMDATA: env['PROGRAMDATA']
}
},
'os': {
arch: process.arch,
release: '5.17.4-artix1-1'
},
'crashReporter': {
updateCrashReporter: async () => {return new Promise()},
getMetadata: () => ({})
}
}

@ -0,0 +1,17 @@
function getVersion() {
return '0.0.17'
}
function getReleaseChannel() {
return 'stable'
}
async function getPath(path) {
return Promise.reject("stubbed out")
}
module.exports = {
getVersion,
getReleaseChannel,
getPath
}

@ -24,6 +24,7 @@ function createWindow(options) {
delete responseHeaders['content-security-policy']; //CSP, die in a pit.
done({responseHeaders})
})
window.opts = options
return win
}

@ -1,8 +1,8 @@
const { contextBridge } = require('electron')
function preload(opts) {
const DiscordNative = require("./discord_native")
const DiscordNative = require("./discord_native")
contextBridge.exposeInMainWorld(
'DiscordNative', DiscordNative
)
window.Modules = opts.Modules
window.DiscordNative = DiscordNative
}
preload({Modules: {discord_utils: {}}})

Loading…
Cancel
Save