From 929171dcba75b51be464e12906801c875ab7647a Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Wed, 22 Dec 2021 19:17:07 +0100 Subject: Initial commit Project skeleton based on https://github.com/cawa-93/vite-electron-builder but we use react instead of vue and yarn instead of npm. --- packages/renderer/index.html | 13 ++++++++++ packages/renderer/package.json | 14 +++++++++++ packages/renderer/src/index.tsx | 10 ++++++++ packages/renderer/tsconfig.json | 21 ++++++++++++++++ packages/renderer/vite.config.js | 52 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 110 insertions(+) create mode 100644 packages/renderer/index.html create mode 100644 packages/renderer/package.json create mode 100644 packages/renderer/src/index.tsx create mode 100644 packages/renderer/tsconfig.json create mode 100644 packages/renderer/vite.config.js (limited to 'packages/renderer') diff --git a/packages/renderer/index.html b/packages/renderer/index.html new file mode 100644 index 0000000..7c6771f --- /dev/null +++ b/packages/renderer/index.html @@ -0,0 +1,13 @@ + + + + + + + Sophie + + +
+ + + diff --git a/packages/renderer/package.json b/packages/renderer/package.json new file mode 100644 index 0000000..89a87b2 --- /dev/null +++ b/packages/renderer/package.json @@ -0,0 +1,14 @@ +{ + "name": "@sophie/renderer", + "version": "0.1.0", + "dependencies": { + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "devDependencies": { + "@types/react": "^17.0.37", + "@types/react-dom": "^17.0.11", + "@vitejs/plugin-react": "^1.1.3", + "vite": "^2.7.6" + } +} diff --git a/packages/renderer/src/index.tsx b/packages/renderer/src/index.tsx new file mode 100644 index 0000000..21ad152 --- /dev/null +++ b/packages/renderer/src/index.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { render } from 'react-dom'; + +const app = ( + +

Hello Sophie!

+
+); + +render(app, document.getElementById('app')); diff --git a/packages/renderer/tsconfig.json b/packages/renderer/tsconfig.json new file mode 100644 index 0000000..ff4fe7c --- /dev/null +++ b/packages/renderer/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "jsx": "react", + "paths": { + "/@/*": [ + "src/*" + ] + }, + "types": [ + "dom", + "dom.iterable" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "../../types/**/*.d.ts" + ] +} diff --git a/packages/renderer/vite.config.js b/packages/renderer/vite.config.js new file mode 100644 index 0000000..c10b81f --- /dev/null +++ b/packages/renderer/vite.config.js @@ -0,0 +1,52 @@ +// @ts-check + +/* eslint-env node */ + +import { builtinModules } from 'module'; +import { join } from 'path'; +import react from '@vitejs/plugin-react'; + +// `resolveJsonModule` is disabled for this package, but vite will load the json nevertheless. +// @ts-expect-error +import { chrome } from '../../.electron-vendors.cache.json'; + +/** @type string */ +const PACKAGE_ROOT = __dirname; + +/** + * @type {import('vite').UserConfig} + * @see https://vitejs.dev/config/ + */ +const config = { + mode: process.env.MODE, + root: PACKAGE_ROOT, + resolve: { + alias: { + '/@/': join(PACKAGE_ROOT, 'src') + '/', + }, + }, + plugins: [ + react(), + ], + base: '', + server: { + fs: { + strict: true, + }, + }, + build: { + sourcemap: true, + target: `chrome${chrome}`, + outDir: 'dist', + assetsDir: '.', + rollupOptions: { + external: [ + ...builtinModules, + ], + }, + emptyOutDir: true, + brotliSize: false, + }, +}; + +export default config; -- cgit v1.2.3-54-g00ecf