mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-08-28 19:46:50 +08:00
reduce production package size by set node-linker=hoisted
This commit is contained in:
Generated
-1108
File diff suppressed because it is too large
Load Diff
@@ -56,30 +56,14 @@ let puppeteer
|
||||
let StealthPlugin
|
||||
export async function initPuppeteer () {
|
||||
// production
|
||||
if (
|
||||
isRunFromUi && !isUiDev
|
||||
) {
|
||||
const electron = await import('electron')
|
||||
const runtimeDependencies = await import(
|
||||
'file://' +
|
||||
path.resolve(
|
||||
electron.app.getAppPath(),
|
||||
'..',
|
||||
'external-node-runtime-dependencies/index.mjs'
|
||||
)
|
||||
)
|
||||
puppeteer = runtimeDependencies.puppeteerExtra.default
|
||||
StealthPlugin = runtimeDependencies.PuppeteerExtraPluginStealth.default
|
||||
} else {
|
||||
const importResult = await Promise.all(
|
||||
[
|
||||
import('puppeteer-extra'),
|
||||
import('puppeteer-extra-plugin-stealth')
|
||||
]
|
||||
)
|
||||
puppeteer = importResult[0].default
|
||||
StealthPlugin = importResult[1].default
|
||||
}
|
||||
const importResult = await Promise.all(
|
||||
[
|
||||
import('puppeteer-extra'),
|
||||
import('puppeteer-extra-plugin-stealth')
|
||||
]
|
||||
)
|
||||
puppeteer = importResult[0].default
|
||||
StealthPlugin = importResult[1].default
|
||||
puppeteer.use(StealthPlugin())
|
||||
|
||||
return {
|
||||
|
||||
-1108
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -21,14 +21,11 @@ import { VMarkAsNotSuitLog } from "./entity/VMarkAsNotSuitLog"
|
||||
import { ChatMessageRecord } from './entity/ChatMessageRecord'
|
||||
|
||||
import sqlite3 from 'sqlite3';
|
||||
import * as cliHighlight from 'cli-highlight';
|
||||
import { saveChatStartupRecord, saveJobInfoFromRecommendPage, saveMarkAsNotSuitRecord } from "./handlers";
|
||||
import { UpdateChatStartupLogTable1729182577167 } from "./migrations/1729182577167-UpdateChatStartupLogTable";
|
||||
import minimist from 'minimist'
|
||||
import { UpdateBossInfoTable1732032381304 } from "./migrations/1732032381304-UpdateBossInfoTable";
|
||||
|
||||
Boolean(cliHighlight);
|
||||
|
||||
export function initDb(dbFilePath) {
|
||||
const { DataSource } = requireTypeorm()
|
||||
const appDataSource = new DataSource({
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import * as path from 'node:path';
|
||||
import type TypeormType from 'typeorm'
|
||||
const isRunFromUi = Boolean(process.env.MAIN_BOSSGEEKGO_UI_RUN_MODE)
|
||||
const isUiDev = process.env.NODE_ENV === 'development'
|
||||
|
||||
export function requireTypeorm (): typeof TypeormType {
|
||||
export function requireTypeorm () {
|
||||
const importResult = require('typeorm')
|
||||
return importResult
|
||||
}
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
electron_mirror=https://npmmirror.com/mirrors/electron/
|
||||
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
|
||||
shamefully-hoist=true
|
||||
node-linker=hoisted
|
||||
|
||||
@@ -17,8 +17,6 @@ files:
|
||||
- '!node_modules/typeorm/browser/*'
|
||||
asarUnpack:
|
||||
- 'resources/**'
|
||||
extraResources:
|
||||
- external-node-runtime-dependencies/**
|
||||
win:
|
||||
executableName: geekgeekrun
|
||||
nsis:
|
||||
|
||||
@@ -11,7 +11,7 @@ export default defineConfig({
|
||||
main: {
|
||||
build: {
|
||||
rollupOptions: {
|
||||
external: ['puppeteer', 'puppeteer-extra', '@puppeteer/browsers', 'find-chrome-bin']
|
||||
external: []
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
Object.assign(module.exports, {
|
||||
puppeteerExtra: require('puppeteer-extra'),
|
||||
PuppeteerExtraPluginStealth: require('puppeteer-extra-plugin-stealth'),
|
||||
puppeteerManager: require('@puppeteer/browsers')
|
||||
})
|
||||
@@ -1,4 +0,0 @@
|
||||
export * as puppeteerExtra from 'puppeteer-extra'
|
||||
export * as PuppeteerExtraPluginStealth from 'puppeteer-extra-plugin-stealth'
|
||||
export * as puppeteerManager from '@puppeteer/browsers'
|
||||
export * as findChromeBin from 'find-chrome-bin'
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"name": "geekgeekrun-external-node-runtime-dependencies",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.cjs",
|
||||
"module": "index.mjs",
|
||||
"scripts": {},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@puppeteer/browsers": "^2.0.0",
|
||||
"find-chrome-bin": "^2.0.1",
|
||||
"puppeteer": "20.1.0",
|
||||
"puppeteer-extra": "3.3.6",
|
||||
"puppeteer-extra-plugin-stealth": "2.11.2"
|
||||
},
|
||||
"packageManager": "npm"
|
||||
}
|
||||
@@ -25,7 +25,6 @@
|
||||
"build:mac": "npm run build && electron-builder --mac",
|
||||
"build:linux": "npm run build && electron-builder --linux",
|
||||
"build:make-dist-for-current-platform": "npm run build && node ./scripts/make-dist-for-current-platform.mjs",
|
||||
"install": "cd ./external-node-runtime-dependencies && cross-env PUPPETEER_SKIP_DOWNLOAD=1 npm install --omit=dev",
|
||||
"release": "node ./scripts/release-new-version.mjs"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -61,7 +60,7 @@
|
||||
"@vue/eslint-config-typescript": "^12.0.0",
|
||||
"animate.css": "^4.1.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"electron": "^28.2.0",
|
||||
"electron": "28.2.0",
|
||||
"electron-builder": "^24.9.1",
|
||||
"electron-vite": "^2.0.0",
|
||||
"element-plus": "^2.5.5",
|
||||
@@ -83,4 +82,4 @@
|
||||
"vue-router": "^4.2.5",
|
||||
"vue-tsc": "^1.8.27"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-44
@@ -15,28 +15,7 @@ import gtag from '../../../../utils/gtag'
|
||||
|
||||
const getPuppeteerManagerModule = async () => {
|
||||
let puppeteerManager
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
puppeteerManager = await import('@puppeteer/browsers')
|
||||
} else if (isMainThread) {
|
||||
const electron = await import('electron')
|
||||
puppeteerManager = (
|
||||
await import(
|
||||
'file://' +
|
||||
path.resolve(
|
||||
electron.app.getAppPath(),
|
||||
'..',
|
||||
'external-node-runtime-dependencies/index.mjs'
|
||||
)
|
||||
)
|
||||
).puppeteerManager
|
||||
} else {
|
||||
puppeteerManager = (
|
||||
await import(
|
||||
'file://' +
|
||||
path.join(__dirname, '../../..', '/external-node-runtime-dependencies/index.mjs')
|
||||
)
|
||||
).puppeteerManager
|
||||
}
|
||||
puppeteerManager = await import('@puppeteer/browsers')
|
||||
|
||||
return puppeteerManager
|
||||
}
|
||||
@@ -177,28 +156,7 @@ export async function findAndLocateUserInstalledChromiumExecutableSync(): Promis
|
||||
|
||||
// For other, use findChrome
|
||||
let findChrome: typeof import('find-chrome-bin').findChrome
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
findChrome = (await import('find-chrome-bin')).findChrome
|
||||
} else if (isMainThread) {
|
||||
const electron = await import('electron')
|
||||
findChrome = (
|
||||
await import(
|
||||
'file://' +
|
||||
path.resolve(
|
||||
electron.app.getAppPath(),
|
||||
'..',
|
||||
'external-node-runtime-dependencies/index.mjs'
|
||||
)
|
||||
)
|
||||
).findChromeBin.findChrome
|
||||
} else {
|
||||
findChrome = (
|
||||
await import(
|
||||
'file://' +
|
||||
path.join(__dirname, '../../..', '/external-node-runtime-dependencies/index.mjs')
|
||||
)
|
||||
).findChromeBin.findChrome
|
||||
}
|
||||
findChrome = (await import('find-chrome-bin')).findChrome
|
||||
const targetBrowser = await findChrome({
|
||||
min: exceptChromiumMainVersion
|
||||
})
|
||||
|
||||
Generated
-1108
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user