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", "cli-truncate": "^3.1.0",
"electron-context-menu": "^3.1.1", "electron-context-menu": "^3.1.1",
"electron-dl": "^3.3.0", "electron-dl": "^3.3.0",
"electron-dynamic-preload": "^0.3.0",
"electron-is-dev": "^2.0.0", "electron-is-dev": "^2.0.0",
"electron-squirrel-startup": "^1.0.0", "electron-squirrel-startup": "^1.0.0",
"escape-goat": "^4.0.0", "escape-goat": "^4.0.0",

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

@ -6,18 +6,21 @@ const Modules = require("./modules")
let loader = Init.bootstrap() let loader = Init.bootstrap()
//TODO: actually do things with the loader //TODO: actually do things with the loader
let options = loader.getOptions() let options = loader.getOptions() + {
Modules
}
loader.destroySplash() loader.destroySplash()
global.DiscordNative = { /*global.DiscordNative = {
nativeModules: { 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}'`;} 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({ ddc.startup({
options options

@ -3,12 +3,17 @@
"selected": 1 "selected": 1
}, },
"1 error pnpm": { "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": { "err": {
"name": "pnpm", "name": "pnpm",
"message": "Missing script: build", "message": "drakecord@1.0.0 make: `electron-forge make`\nExit status 1",
"code": "ERR_PNPM_NO_SCRIPT", "code": "ELIFECYCLE",
"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" "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 process = require("process")
//const Modules = require("../../index.js") const app = require("./renderer")
const { //const Modules = global.opts.Modules
app
} = require("renderer")
const env = process.env const env = process.env
let DiscordNative = { let DiscordNative = {
app, app,
remoteApp: app,
isRenderer: true, isRenderer: true,
/*nativeModules: { nativeModules: {
ensureModule: (name) => {return true /* TODO: ensure stuff \*\/}, ensureModule: (name) => {return !!Modules[name]},
requireModule: (name) => {if (Modules[name]) return Modules[name]; else throw `Error: Cannot find module '${name}'`;} requireModule: (name) => {if (Modules[name]) return Modules[name]; else throw `Error: Cannot find module '${name}'`;}
},*/ },
'process': { 'process': {
platform: process.platform, platform: process.platform,
arch: process.arch, arch: process.arch,
@ -25,6 +23,14 @@ let DiscordNative = {
PROGRAMW6432: env['PROGRAMW6432'], PROGRAMW6432: env['PROGRAMW6432'],
PROGRAMDATA: env['PROGRAMDATA'] 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. delete responseHeaders['content-security-policy']; //CSP, die in a pit.
done({responseHeaders}) done({responseHeaders})
}) })
window.opts = options
return win return win
} }

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

Loading…
Cancel
Save