package.json: 단일 패키지 통합 (정체성 보존, dual main via extraMetadata)

name=@pieroot/nfd2nfc, appId=com.pieroot.nfd2nfc, productName=NFD2NFC 유지.
package.json main=out/lib/index.js (npm 라이브러리 진입점).
electron-builder extraMetadata.main=out/main/index.js (.app asar만 override).
react/react-dom는 devDependencies로 이동 (Vite renderer 번들에 포함).
files 필드로 npm tarball을 out/cli, out/lib, resources만으로 제한.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-09 15:42:51 +09:00
parent a24367c815
commit 1441a5c0b4
2 changed files with 145 additions and 0 deletions

38
electron.vite.config.ts Normal file
View File

@@ -0,0 +1,38 @@
import { resolve } from 'path';
import { defineConfig, externalizeDepsPlugin } from 'electron-vite';
import react from '@vitejs/plugin-react';
export default defineConfig({
main: {
plugins: [externalizeDepsPlugin()],
build: {
rollupOptions: {
input: {
index: resolve(__dirname, 'src/main/index.ts'),
},
},
},
},
preload: {
plugins: [externalizeDepsPlugin()],
build: {
rollupOptions: {
input: {
index: resolve(__dirname, 'src/preload/index.ts'),
},
},
},
},
renderer: {
root: 'src/renderer',
plugins: [react()],
build: {
rollupOptions: {
input: {
popover: resolve(__dirname, 'src/renderer/popover/index.html'),
settings: resolve(__dirname, 'src/renderer/settings/index.html'),
},
},
},
},
});