← All tasks
javaapache/incubator-seata #8206Not a task: not reproduced

: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.
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]