diff options
author | Kristóf Marussy <kristof@marussy.com> | 2021-12-22 19:17:07 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2021-12-22 19:37:20 +0100 |
commit | 929171dcba75b51be464e12906801c875ab7647a (patch) | |
tree | ae59d77dd1a8dda3ec8118f8f810a783c9103655 /packages/preload | |
download | sophie-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.json | 10 | ||||
-rw-r--r-- | packages/preload/src/index.ts | 4 | ||||
-rw-r--r-- | packages/preload/tsconfig.json | 15 | ||||
-rw-r--r-- | packages/preload/vite.config.js | 50 |
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 @@ | |||
1 | import { contextBridge } from 'electron'; | ||
2 | |||
3 | contextBridge.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 | |||
3 | import { builtinModules } from 'module'; | ||
4 | import { join } from 'path'; | ||
5 | |||
6 | // `resolveJsonModule` is disabled for this package, but vite will load the json nevertheless. | ||
7 | // @ts-expect-error | ||
8 | import { chrome } from '../../.electron-vendors.cache.json'; | ||
9 | |||
10 | /** @type string */ | ||
11 | const PACKAGE_ROOT = __dirname; | ||
12 | |||
13 | /** | ||
14 | * @type {import('vite').UserConfig} | ||
15 | * @see https://vitejs.dev/config/ | ||
16 | */ | ||
17 | const 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 | |||
50 | export default config; | ||