aboutsummaryrefslogtreecommitdiffstats
path: root/packages/preload
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-12-22 19:17:07 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-12-22 19:37:20 +0100
commit929171dcba75b51be464e12906801c875ab7647a (patch)
treeae59d77dd1a8dda3ec8118f8f810a783c9103655 /packages/preload
downloadsophie-929171dcba75b51be464e12906801c875ab7647a.tar.gz
sophie-929171dcba75b51be464e12906801c875ab7647a.tar.zst
sophie-929171dcba75b51be464e12906801c875ab7647a.zip
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.
Diffstat (limited to 'packages/preload')
-rw-r--r--packages/preload/package.json10
-rw-r--r--packages/preload/src/index.ts4
-rw-r--r--packages/preload/tsconfig.json15
-rw-r--r--packages/preload/vite.config.js50
4 files changed, 79 insertions, 0 deletions
diff --git a/packages/preload/package.json b/packages/preload/package.json
new file mode 100644
index 0000000..538c583
--- /dev/null
+++ b/packages/preload/package.json
@@ -0,0 +1,10 @@
1{
2 "name": "@sophie/preload",
3 "version": "0.1.0",
4 "dependencies": {
5 "electron": "^16.0.5"
6 },
7 "devDependencies": {
8 "vite": "^2.7.6"
9 }
10}
diff --git a/packages/preload/src/index.ts b/packages/preload/src/index.ts
new file mode 100644
index 0000000..7d5eff5
--- /dev/null
+++ b/packages/preload/src/index.ts
@@ -0,0 +1,4 @@
1import { contextBridge } from 'electron';
2
3contextBridge.exposeInMainWorld('sophieRenderer', {
4});
diff --git a/packages/preload/tsconfig.json b/packages/preload/tsconfig.json
new file mode 100644
index 0000000..580d63a
--- /dev/null
+++ b/packages/preload/tsconfig.json
@@ -0,0 +1,15 @@
1{
2 "extends": "../../tsconfig.json",
3 "compilerOptions": {
4 "baseUrl": ".",
5 "paths": {
6 "/@/*": [
7 "src/*"
8 ]
9 }
10 },
11 "include": [
12 "src/**/*",
13 "../../types/**/*.d.ts"
14 ]
15}
diff --git a/packages/preload/vite.config.js b/packages/preload/vite.config.js
new file mode 100644
index 0000000..8f11028
--- /dev/null
+++ b/packages/preload/vite.config.js
@@ -0,0 +1,50 @@
1// @ts-check
2
3import { builtinModules } from 'module';
4import { join } from 'path';
5
6// `resolveJsonModule` is disabled for this package, but vite will load the json nevertheless.
7// @ts-expect-error
8import { chrome } from '../../.electron-vendors.cache.json';
9
10/** @type string */
11const PACKAGE_ROOT = __dirname;
12
13/**
14 * @type {import('vite').UserConfig}
15 * @see https://vitejs.dev/config/
16 */
17const config = {
18 mode: process.env.MODE,
19 root: PACKAGE_ROOT,
20 envDir: process.cwd(),
21 resolve: {
22 alias: {
23 '/@/': join(PACKAGE_ROOT, 'src') + '/',
24 },
25 },
26 build: {
27 sourcemap: 'inline',
28 target: `chrome${chrome}`,
29 outDir: 'dist',
30 assetsDir: '.',
31 minify: process.env.MODE !== 'development',
32 lib: {
33 entry: 'src/index.ts',
34 formats: ['cjs'],
35 },
36 rollupOptions: {
37 external: [
38 'electron',
39 ...builtinModules,
40 ],
41 output: {
42 entryFileNames: '[name].cjs',
43 },
44 },
45 emptyOutDir: true,
46 brotliSize: false,
47 },
48};
49
50export default config;