TimelordUK / node-sqlserver-v8

branched from node-sqlserver, SQL server driver compatible with all versions of Node
Other
135 stars 43 forks source link

import { SqlClient } from "msnodesqlv8/types"; Cannot find module 'msnodesqlv8/types' or its corresponding type declarations #314

Closed CarlosOnline closed 7 months ago

CarlosOnline commented 7 months ago

Using typescript and electron from vite, getting error importing "msnodesqlv8/types". Any ideas on how to fix?

Cannot find module 'msnodesqlv8/types' or its corresponding type declarations

[plugin:vite:import-analysis] Failed to resolve import "msnodesqlv8/types"

I re-ran the electron-rebuild

.\node_modules\.bin\electron-rebuild.cmd
√ Rebuild Complete

I also ran the electron-builder

> electron-builder

  • electron-builder  version=24.9.1 os=10.0.22621
  • loaded configuration  file=c:\vue\test3\electron-builder.json5
  • description is missed in the package.json  appPackageFile=c:\vue\test3\package.json
  • author is missed in the package.json  appPackageFile=c:\vue\test3\package.json
  • writing effective config  file=release\0.0.0\builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=msnodesqlv8@4.1.2 platform=win32 arch=x64
CarlosOnline commented 7 months ago

Found a workaround.

main.ts

function createWindow() {
  win = new BrowserWindow({
    autoHideMenuBar: true,
    icon: path.join(process.env.VITE_PUBLIC, "electron-vite.svg"),
    webPreferences: {
      nodeIntegration: true, // require("msnodesqlv8");

preload.ts

// Add msnodesqlv8 which requires require
const msnodesqlv8 = require("msnodesqlv8");
contextBridge.exposeInMainWorld("msnodesqlv8", withPrototype(msnodesqlv8));