Deprecate <rs:compressJs> tag — no longer minifies inline JSP content

Open Beginner friendly
#310 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Quiet
Tech stack
java, javascript
Domain
documentation

Research direction

Search for JavaScriptMinificationTag and the TLD entry for the compressJs tag, then locate the release notes mentioned in the issue. Confirm the tag is a no-op before adding the requested deprecation metadata and Javadoc, and document the behavior change and removal timeline in the release notes.

Written by the indexing model from the issue text.

Description

Context

PR #303 replaced YUI Compressor with esbuild, including a build-time minification step for files under `rs/**`. As part of that change, `JavaScriptMinificationTag` (the Java class backing the `rs:compressJs` JSP tag) was neutered:

```java
// Note: YUI Compressor removed - JSP tag now just passes through content
// Minification is handled by the build process with esbuild
// This maintains backward compatibility for existing JSP pages
```

Problem

The build-time minification only processes files under `rs/**`. It does NOT process inline `<script>` content wrapped in `rs:compressJs...</rs:compressJs>` in JSPs — JSPs are compiled to servlet bytecode separately, and the tag operates on the wrapped body at request time.

Result: every portlet that uses `rs:compressJs` (many do — AnnouncementsPortlet, NewsReaderPortlet, CalendarPortlet, JasigWidgetPortlets, and others) now ships uncompressed inline JS with no warning. Silent regression in the minification contract.

Proposed fix

  1. Mark `rs:compressJs` as `@deprecated` in the TLD with a `since="1.5.1"` attribute
  2. Add a clear Javadoc note on `JavaScriptMinificationTag` explaining it's now a no-op and will be removed in 1.6
  3. Document the behavior change in release notes so portlet maintainers know to remove usages
  4. (Follow-up) Remove the tag in a future major version after adopters have had time to migrate

Priority

Medium — the release can proceed without this, but we should ship the deprecation in 1.5.1 so portlet maintainers are aware. Filing as a follow-up to PR #303.

Dominant language
JavaScript
Stars
6
Forks
23
Avg merge
12d 1h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from uPortal-Project/resource-server

All issues in uPortal-Project/resource-server

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.