aboutsummaryrefslogtreecommitdiffstats
path: root/packages/service-inject
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-12-30 00:26:01 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-12-30 02:24:28 +0100
commit61fd13c55f5e69a9d8b32dd0d74b08870783bcce (patch)
tree4f3f97b1629f3c262bea076b596bc7245ccbc0bd /packages/service-inject
parentRevert "refactor: Switch back to consola for prettyness" (diff)
downloadsophie-61fd13c55f5e69a9d8b32dd0d74b08870783bcce.tar.gz
sophie-61fd13c55f5e69a9d8b32dd0d74b08870783bcce.tar.zst
sophie-61fd13c55f5e69a9d8b32dd0d74b08870783bcce.zip
build: Switch to esbuild
We will build all packages except the frontend (where vite remains in use) with esbuild. For some reason, the @yarnpkg/esbuild-plugin-pnp doesn't allow esbuild to load esm modules and we fall back to commonjs for dependencies. Hence we had to switch back to node_modules (but still rely on yarn hardlinking for a more efficient install).
Diffstat (limited to 'packages/service-inject')
-rw-r--r--packages/service-inject/esbuild.config.js16
-rw-r--r--packages/service-inject/package.json4
-rw-r--r--packages/service-inject/vite.config.js28
3 files changed, 17 insertions, 31 deletions
diff --git a/packages/service-inject/esbuild.config.js b/packages/service-inject/esbuild.config.js
new file mode 100644
index 0000000..38e5b7d
--- /dev/null
+++ b/packages/service-inject/esbuild.config.js
@@ -0,0 +1,16 @@
1// @ts-check
2
3const { chrome } = require('../../config/build-common');
4const { getConfig } = require('../../config/esbuild-config');
5
6module.exports = getConfig({
7 absWorkingDir: __dirname,
8 entryPoints: [
9 'src/index.ts',
10 ],
11 outfile: 'dist/index.js',
12 format: 'iife',
13 platform: 'browser',
14 target: chrome,
15 sourcemap: 'inline',
16});
diff --git a/packages/service-inject/package.json b/packages/service-inject/package.json
index 573fc82..94cd825 100644
--- a/packages/service-inject/package.json
+++ b/packages/service-inject/package.json
@@ -7,7 +7,6 @@
7 "types": "dist-types/index.d.ts", 7 "types": "dist-types/index.d.ts",
8 "scripts": { 8 "scripts": {
9 "clean": "rimraf dist", 9 "clean": "rimraf dist",
10 "build": "vite build",
11 "typecheck": "tsc" 10 "typecheck": "tsc"
12 }, 11 },
13 "dependencies": { 12 "dependencies": {
@@ -15,7 +14,6 @@
15 }, 14 },
16 "devDependencies": { 15 "devDependencies": {
17 "rimraf": "^3.0.2", 16 "rimraf": "^3.0.2",
18 "typescript": "^4.5.4", 17 "typescript": "^4.5.4"
19 "vite": "^2.7.7"
20 } 18 }
21} 19}
diff --git a/packages/service-inject/vite.config.js b/packages/service-inject/vite.config.js
deleted file mode 100644
index 9c65c15..0000000
--- a/packages/service-inject/vite.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
1// @ts-check
2
3import { builtinModules } from 'module';
4
5import { chrome, makeConfig } from '../../config/vite-common';
6
7/** @type {string} */
8const PACKAGE_ROOT = __dirname;
9
10/**
11 * @type {import('vite').UserConfig}
12 * @see https://vitejs.dev/config/
13 */
14const config = makeConfig({
15 root: PACKAGE_ROOT,
16 build: {
17 target: chrome,
18 lib: {
19 entry: 'src/index.ts',
20 formats: ['cjs'],
21 },
22 rollupOptions: {
23 external: builtinModules,
24 },
25 },
26});
27
28export default config;