element-call/vite.config.js
David Baker fef503c65d
Upload source maps to sentry (#810)
* Pretend to upload source maps to sentry

* Build release not in docker so we can upload source maps sensibly

and also upload the release as a plain tarball while we're at it

* fix yaml

* Try specifying version this way

* test rebuild

* pass secrets through

* Too many sentries

* It's almost 2023 and we're still having BSD vs GNU tar issues

* Maybe get sensible tag name & release identifier

* Wrong plugin, and also try the 'release' option which might the right thing

* Try a different github action

see if github likes that any better

* add contents write permission

and switch to the asset upload plugin that had the helpful doc

* actually put release name in tarball path

* copy docker config to right path

* Prettify vite config

* Only activate sentry plugin if we have secrets

* Use env var for tag name

* Also spelling env correctly would likely help

* Fix variable syntax

* Put env var in correct place

One day maybe I will not find yaml syntax confusing
2023-01-03 10:48:48 +00:00

72 lines
1.8 KiB
JavaScript

/*
Copyright 2021 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
import { defineConfig, loadEnv } from "vite";
import svgrPlugin from "vite-plugin-svgr";
import htmlTemplate from "vite-plugin-html-template";
import sentryVitePlugin from "@sentry/vite-plugin";
import path from "path";
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd());
const plugins = [
svgrPlugin(),
htmlTemplate.default({
data: {
title: env.VITE_PRODUCT_NAME || "Element Call",
},
}),
];
if (
process.env.SENTRY_ORG &&
process.env.SENTRY_PROJECT &&
process.env.SENTRY_AUTH_TOKEN &&
process.env.SENTRY_URL
) {
plugins.push(
sentryVitePlugin({
include: "./dist",
release: process.env.VITE_APP_VERSION,
})
);
}
return {
build: {
sourcemap: true,
},
plugins,
resolve: {
alias: {
// matrix-widget-api has its transpiled lib/index.js as its entry point,
// which Vite for some reason refuses to work with, so we point it to
// src/index.ts instead
"matrix-widget-api": "matrix-widget-api/src/index.ts",
},
dedupe: [
"react",
"react-dom",
"matrix-js-sdk",
"react-use-measure",
"@juggle/resize-observer",
],
},
};
});