:bug: seata-console sources jar contains the frontend Node runtime
envgap__apache__incubator-seata-8206
01 / FAILURE SIGNATURE
As reported upstream
No identifying execution failure has been captured.
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
dbea1859ef46da881310ccf2dd0b3a27dcca22c8- Manifest
console/pom.xml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
apache/incubator-seata #8206 · read the original issue
### Check Ahead
- [x] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate.
- [x] I am willing to try to fix this bug myself.
### Ⅰ. Issue Description
The `seata-console` sources jar contains the Node runtime directory `src/main/resources/static/console-fe/node` installed by `frontend-maven-plugin` during the frontend build. This causes the source artifact to be abnormally large.
<img width="2092" height="1230" alt="Image" src="https://github.com/user-attachments/assets/b1877073-a314-4b64-8e8e-051ba1560450" />
### Ⅱ. Describe what happened
After building the `console` module, the generated `seata-console-2.8.0-SNAPSHOT-sources.jar` includes `static/console-fe/node/**`. That directory contains the Node executable and runtime files installed by `frontend-maven-plugin` during the `generate-resources` phase; it is not console frontend source code.
Local build observation:
- Before the change: `console/target/seata-console-2.8.0-SNAPSHOT-sources.jar` is about **32M**.
<img width="1442" height="376" alt="Image" src="https://github.com/user-attachments/assets/f0bc70a4-4e22-445d-b2ea-c673f48a865b" />
- After the change: `console/target/seata-console-2.8.0-SNAPSHOT-sources.jar` is about **4.6M**.
<img width="1460" height="354" alt="Image" src="https://github.com/user-attachments/assets/7b37afea-ba3e-4adf-9969-94127f97cb8a" />
The change corrects the resource exclusion to exclude `static/console-fe/node/**`, preventing the frontend build-time Node runtime from being packaged into the sources jar.
### Ⅲ. Describe what you expected to happen
The sources jar should contain only the console module's Java sources and any frontend source/resources that need to be retained. It should not contain the Node runtime downloaded or installed by `frontend-maven-plugin`. `static/console-fe/node/**` should be excluded, while `node_modules` continues to be excluded by the existing `**/node_modules/**` rule.
### Ⅳ. How to reproduce it (as minimally and precisely as possible)
1. Run the following command from the repository root:
```bash
mvn -pl console package -DskipTests -am
```
2. Check the generated sources jar size:
```bash
ll console/target/seata-console-2.8.0-SNAPSHOT-sources.jar
```
<img width="1442" height="376" alt="Image" src="https://github.com/user-attachments/assets/e8b722f1-4531-49e7-8959-1b8dc3d2031c" />
3. Check whether the sources jar contains the Node runtime directory:
```bash
jar tf console/target/seata-console-2.8.0-SNAPSHOT-sources.jar | grep '^static/console-fe/node/'
```
Before the change, many `static/console-fe/node/**` files are listed; after the change, the command should produce no output.
<img width="1678" height="487" alt="Image" src="https://github.com/user-attachments/assets/72bcb848-855c-4e95-afa8-cf9382071fc9" />
### Ⅴ. Anything else we need to know?
The `install-node-and-npm` execution of `frontend-maven-plugin` installs Node into `src/main/resources/static/console-fe/node`. That directory is only used by the subsequent `npm build` and should not be included in the final sources jar.
`node_modules` is already covered by the `**/node_modules/**` exclusion. This change replaces `static/console-fe` with `static/console-fe/node/**` so that only the Node runtime directory is excluded without affecting other `console-fe` frontend files.
### Ⅵ. Environment
- JDK version: `17`
- Seata client/server version: `2.8.0-SNAPSHOT`
- Database version: N/A
- OS: macOS / Linux
- Others: During the Maven `package` phase, the `maven-source-plugin` configured in the root POM generates the sources jar.
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]