fix the production package cannot run issue caused by glob(path-scurry) module error - maybe the version of glob is too new, and there exists different version of glob, so download rimraf and typeorm to makes major version of glob at 7

This commit is contained in:
geekgeekrun
2024-03-21 01:24:42 +08:00
parent af92ef6718
commit 3f6a4615e3
18 changed files with 215 additions and 396 deletions

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, Column, PrimaryGeneratedColumn } = requireTypeorm();
@Entity()
export class BossActiveStatusRecord {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column, Index, PrimaryColumn } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, Column, PrimaryColumn } = requireTypeorm();
@Entity()
export class BossInfo {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, Column, PrimaryGeneratedColumn } = requireTypeorm()
@Entity()
export class BossInfoChangeLog {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, Column, PrimaryGeneratedColumn } = requireTypeorm()
@Entity()
export class ChatStartupLog {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column, Index, PrimaryColumn } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, Column, PrimaryColumn } = requireTypeorm()
@Entity()
export class CompanyInfo {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, PrimaryGeneratedColumn, Column } = requireTypeorm()
@Entity()
export class CompanyInfoChangeLog {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column, Unique, Index, PrimaryColumn } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, Column, PrimaryColumn } = requireTypeorm()
@Entity()
export class JobInfo {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, PrimaryGeneratedColumn, Column } = requireTypeorm()
@Entity()
export class JobInfoChangeLog {

View File

@@ -1,4 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column, Index, PrimaryColumn } from "typeorm";
import { requireTypeorm } from "../utils/module-loader";
const { Entity, Column, PrimaryColumn } = requireTypeorm()
@Entity()
export class UserInfo {

View File

@@ -1,5 +1,7 @@
import "reflect-metadata";
import { DataSource } from "typeorm";
import { type DataSource } from "typeorm";
import { parseCompanyScale, parseSalary } from "./utils/parser";
import { requireTypeorm } from "./utils/module-loader";
import { BossInfo } from "./entity/BossInfo";
import { BossInfoChangeLog } from "./entity/BossInfoChangeLog";
@@ -10,9 +12,9 @@ import { JobInfo } from "./entity/JobInfo";
import { JobInfoChangeLog } from "./entity/JobInfoChangeLog";
import { BossActiveStatusRecord } from "./entity/BossActiveStatusRecord";
import { UserInfo } from "./entity/UserInfo";
import { parseCompanyScale, parseSalary } from "./utils/parser";
async function initDb(dbFilePath) {
function initDb(dbFilePath) {
const { DataSource } = requireTypeorm()
const appDataSource = new DataSource({
type: "sqlite",
synchronize: true,

View File

@@ -0,0 +1,27 @@
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 () {
let typeorm: typeof typeormType
// production
if (
isRunFromUi && !isUiDev
) {
const electron = require('electron')
const runtimeDependencies = require(
path.resolve(
electron.app.getAppPath(),
'..',
'external-node-runtime-dependencies/index.cjs'
)
)
typeorm = runtimeDependencies.typeorm
} else {
const importResult = require('typeorm')
typeorm = importResult
}
return typeorm
}