diff --git a/.github/workflows/dev-release.yml b/.github/workflows/dev-release.yml index 96622339..775d7e2b 100644 --- a/.github/workflows/dev-release.yml +++ b/.github/workflows/dev-release.yml @@ -40,6 +40,17 @@ jobs: run: | cd build/ && tar -zcvf ../console.tgz --exclude='./data' . + - name: Build Project (Embed) 🚧 + run: | + rm -rf build/ + SKUPPER_CONSOLE_EMBED=true yarn build + env: + CI: false + + - name: Package Build (Embed) 📦 + run: | + cd build/ && tar -zcvf ../console-embed.tgz --exclude='./data' . + - name: Get commit info 📋 id: commit_info run: | @@ -59,7 +70,7 @@ jobs: gh release delete development --yes || true # Create new release - gh release create development console.tgz \ + gh release create development console.tgz console-embed.tgz \ --title "Development Build" \ --notes "$(cat < ({ - plugins: [react()], +export default defineConfig(() => { + const isEmbedMode = process.env.SKUPPER_CONSOLE_EMBED === 'true'; - define: { - 'process.env.OBSERVER_URL': JSON.stringify(process.env.OBSERVER_URL || ''), - 'process.env.BRAND_APP_LOGO': JSON.stringify(process.env.BRAND_APP_LOGO || ''), - 'process.env.API_VERSION': JSON.stringify(process.env.API_VERSION || ''), - 'process.env.USE_MOCK_SERVER': JSON.stringify(process.env.USE_MOCK_SERVER), - 'process.env.MOCK_ITEM_COUNT': JSON.stringify(process.env.MOCK_ITEM_COUNT), - 'process.env.MOCK_RESPONSE_DELAY': JSON.stringify(process.env.MOCK_RESPONSE_DELAY) - }, + return { + plugins: [react()], - base: './', + define: { + 'process.env.OBSERVER_URL': JSON.stringify(process.env.OBSERVER_URL || ''), + 'process.env.BRAND_APP_LOGO': JSON.stringify(process.env.BRAND_APP_LOGO || ''), + 'process.env.API_VERSION': JSON.stringify(process.env.API_VERSION || ''), + 'process.env.SKUPPER_CONSOLE_EMBED': JSON.stringify(process.env.SKUPPER_CONSOLE_EMBED || ''), + 'process.env.USE_MOCK_SERVER': JSON.stringify(process.env.USE_MOCK_SERVER), + 'process.env.MOCK_ITEM_COUNT': JSON.stringify(process.env.MOCK_ITEM_COUNT), + 'process.env.MOCK_RESPONSE_DELAY': JSON.stringify(process.env.MOCK_RESPONSE_DELAY) + }, - server: { - port: 3000 - }, + // Use relative paths for all assets when in embed mode, otherwise use root path + base: isEmbedMode ? './' : '/', - test: { - globals: true, - environment: 'jsdom', - setupFiles: ['./vite.setup.ts'], - coverage: { - reporter: ['text', 'lcov'], - all: false, - include: ['**/src/**'], - exclude: ['**/src/config/**'] + server: { + port: 3000 + }, + + test: { + globals: true, + environment: 'jsdom', + setupFiles: ['./vite.setup.ts'], + coverage: { + reporter: ['text', 'lcov'], + all: false, + include: ['**/src/**'], + exclude: ['**/src/config/**'] + } } - } -})); + }; +}); diff --git a/webpack.config.mjs b/webpack.config.mjs index 0e7be551..2f024e75 100644 --- a/webpack.config.mjs +++ b/webpack.config.mjs @@ -15,6 +15,7 @@ const defineEnvVariables = () => 'process.env.OBSERVER_URL': JSON.stringify(process.env.OBSERVER_URL || ''), 'process.env.BRAND_APP_LOGO': JSON.stringify(process.env.BRAND_APP_LOGO || ''), 'process.env.API_VERSION': JSON.stringify(process.env.API_VERSION || ''), + 'process.env.SKUPPER_CONSOLE_EMBED': JSON.stringify(process.env.SKUPPER_CONSOLE_EMBED || ''), 'process.env.USE_MOCK_SERVER': JSON.stringify(process.env.USE_MOCK_SERVER || ''), 'process.env.MOCK_ITEM_COUNT': JSON.stringify(process.env.MOCK_ITEM_COUNT || ''), 'process.env.MOCK_RESPONSE_DELAY': JSON.stringify(process.env.MOCK_RESPONSE_DELAY || '') @@ -124,7 +125,8 @@ const config = { path: path.join(ROOT, '/build'), filename: '[name].[contenthash].min.js', chunkFilename: 'js/[name].[chunkhash].min.js', - publicPath: '/', + // Use relative paths when SKUPPER_CONSOLE_EMBED is true, otherwise use root path + publicPath: process.env.SKUPPER_CONSOLE_EMBED === 'true' ? './' : '/', clean: true }, optimization: optimizationConfig,