From 7d38530004dc18bcbc5cf4558517db90e99ff327 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Wed, 8 Apr 2026 12:26:53 -0400 Subject: [PATCH] fix: Build frontend package before publishing to npm The package was shipping raw JSX (main: src/index.jsx) which webpack in MFE builds cannot process since babel-loader excludes node_modules by default. Follows the same pattern as @openedx/frontend-plugin-framework: - Use fedx-scripts babel to compile src/ -> dist/ before publishing - Set main to dist/index.js - Add files: ["dist"] to publish only compiled output - Add @openedx/frontend-build as a devDependency for fedx-scripts Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release.yml | 2 ++ frontend/package.json | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e87cbfd..a279b5b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -115,6 +115,8 @@ jobs: - name: Update the package version and publish run: | + npm install --include=dev npm version ${{ needs.release.outputs.version }} + npm run build npm publish working-directory: './frontend' diff --git a/frontend/package.json b/frontend/package.json index 91da726..978d0f7 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,11 +1,18 @@ { "name": "@openedx/sample-plugin", "version": "__semantically__released__", - "main": "src/index.jsx", + "main": "dist/index.js", + "files": ["dist"], "repository": "https://github.com/openedx/sample-plugin", + "scripts": { + "build": "fedx-scripts babel src --out-dir dist --source-maps --ignore **/*.test.jsx,**/*.test.js" + }, "peerDependencies": { "@edx/frontend-platform": "*", "@openedx/paragon": "*", "react": "*" + }, + "devDependencies": { + "@openedx/frontend-build": "*" } }