From eab6977e0a88e513015792402d9134080b529ede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E9=9E=8B=E6=B2=A1=E5=8F=B7?= <308487730@qq.com> Date: Tue, 17 May 2022 14:47:37 +0800 Subject: [PATCH 1/2] feat: sqlite3, serialport use-cases --- packages/renderer/vite.config.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/renderer/vite.config.ts b/packages/renderer/vite.config.ts index fa839cf..096ae67 100644 --- a/packages/renderer/vite.config.ts +++ b/packages/renderer/vite.config.ts @@ -1,6 +1,6 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' -import resolve from 'vite-plugin-resolve' +import resolve, { lib2esm } from 'vite-plugin-resolve' import electron from 'vite-plugin-electron/renderer' import pkg from '../../package.json' @@ -18,8 +18,23 @@ export default defineConfig({ * which will ensure that the electron-builder can package it correctly */ { - // If you use electron-store, this will work - ESM format code snippets - 'electron-store': 'const Store = require("electron-store"); export default Store;', + // If you use the following modules, the following configuration will work + // What they have in common is that they will return - ESM format code snippets + + // ESM format string + 'electron-store': 'export default require("electron-store");', + // Use lib2esm() to easy to convert ESM + sqlite3: lib2esm('sqlite3', { format: 'cjs' }), + serialport: lib2esm( + // CJS lib name + 'serialport', + // export memebers + [ + 'SerialPort', + 'SerialPortMock', + ], + { format: 'cjs' }, + ), } ), ], From 09d531f40c47994afac51e63b9d48c2fce4a032d Mon Sep 17 00:00:00 2001 From: younglei Date: Tue, 17 May 2022 17:19:58 +0800 Subject: [PATCH 2/2] chore: comments #132 --- packages/renderer/vite.config.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/renderer/vite.config.ts b/packages/renderer/vite.config.ts index 096ae67..95f482e 100644 --- a/packages/renderer/vite.config.ts +++ b/packages/renderer/vite.config.ts @@ -24,6 +24,14 @@ export default defineConfig({ // ESM format string 'electron-store': 'export default require("electron-store");', // Use lib2esm() to easy to convert ESM + // Equivalent to + /** + * sqlite3: () => ` + * const _M_ = require('sqlite3'); + * const _D_ = _M_.default || _M_; + * export { _D_ as default } + * ` + */ sqlite3: lib2esm('sqlite3', { format: 'cjs' }), serialport: lib2esm( // CJS lib name