Skip to content

Upgrade to yarn modern - #4089

Open
OyvindLGjesdal wants to merge 1 commit into
apache:mainfrom
OyvindLGjesdal:upgrade-to-yarn-modern
Open

Upgrade to yarn modern#4089
OyvindLGjesdal wants to merge 1 commit into
apache:mainfrom
OyvindLGjesdal:upgrade-to-yarn-modern

Conversation

@OyvindLGjesdal

@OyvindLGjesdal OyvindLGjesdal commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

GitHub issue resolved #4075, #4053 and #4090

Pull request Description:


  • Tests are included.
  • Documentation change and updates are provided for the Apache Jena website
  • Commits have been squashed to remove intermediate development commit messages.
  • Key commit messages start with the issue number (GH-xxxx)

By submitting this pull request, I acknowledge that I am making a contribution to the Apache Software Foundation under the terms and conditions of the Contributor's Agreement.


See the Apache Jena "Contributing" guide.

@OyvindLGjesdal
OyvindLGjesdal marked this pull request as draft July 24, 2026 08:16
Comment thread jena-fuseki2/jena-fuseki-ui/.yarnrc.yml Outdated
Comment thread jena-fuseki2/jena-fuseki-ui/.yarnrc.yml
@OyvindLGjesdal
OyvindLGjesdal force-pushed the upgrade-to-yarn-modern branch 3 times, most recently from 9349e17 to 92b86dc Compare July 26, 2026 21:58
@afs

afs commented Aug 5, 2026

Copy link
Copy Markdown
Member

Hi @OyvindLGjesdal

Having this would be very good! Jena can't stay on yarn1 forever.

The weekly set of JS updates that happen every week (wednesdays, but also some out of cycle at the weekend) are down to yarn1 no longer being mainatined.

@OyvindLGjesdal

Copy link
Copy Markdown
Contributor Author

Will reset to main and rerun migrations to yarn2 and removals. The change worked/was built succesfully before 6.2 on all github actions, as well as MacOS locally. Also removes some dependencies, but should confirm that the different environments still works.

@OyvindLGjesdal
OyvindLGjesdal force-pushed the upgrade-to-yarn-modern branch from 92b86dc to cb544c2 Compare August 10, 2026 12:05
@OyvindLGjesdal
OyvindLGjesdal marked this pull request as ready for review August 10, 2026 12:10
@OyvindLGjesdal
OyvindLGjesdal force-pushed the upgrade-to-yarn-modern branch from cb544c2 to 2bae46b Compare August 10, 2026 12:17
@OyvindLGjesdal

OyvindLGjesdal commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

This looks ready for review and passes CI in

However fails locally, when trying to download corepack (complains about the timestamp of the Cookie, could be timezone related).

[INFO] --- frontend:2.0.2:install-node-and-corepack (install node and corepack) @ jena-fuseki-ui ---
[INFO] Node v24.16.0 is already installed.
[INFO] Installing corepack version provided
[INFO] Downloading https://registry.npmjs.org/corepack/-/corepack-provided.tgz to /Users/oyvindlgjesdal/.m2/repository/com/github/eirslett/corepack/provided/corepack-provided.tar.gz
[INFO] No proxy was configured, downloading directly
aug. 10, 2026 2:57:56 P.M. org.apache.http.client.protocol.ResponseProcessCookies processCookies
WARNING: Invalid cookie header: "set-cookie: _NNNN HttpOnly; SameSite=None; Secure; Path=/; Domain=npmjs.org; Expires=Mon, 10 Aug 2026 13:27:57 GMT". Invalid 'expires' attribute: Mon, 10 Aug 2026 13:27:57 GMT

Next run passed

[INFO] Reactor Summary for Apache Jena 6.3.0-SNAPSHOT:
[INFO] 
[INFO] Apache Jena ........................................ SUCCESS [01:27 min]
[INFO] Apache Jena - IRI3986 .............................. SUCCESS [  5.155 s]
[INFO] Apache Jena - Language tags ........................ SUCCESS [  1.747 s]
[INFO] Apache Jena - Base ................................. SUCCESS [  3.960 s]
[INFO] Apache Jena - Core ................................. SUCCESS [ 49.090 s]
[INFO] Apache Jena - ARQ .................................. SUCCESS [01:23 min]
[INFO] Apache Jena - ONTAPI ............................... SUCCESS [ 16.148 s]
[INFO] Apache Jena - SHACL ................................ SUCCESS [  4.993 s]
[INFO] Apache Jena - ShEx ................................. SUCCESS [  6.268 s]
[INFO] Apache Jena - RDF Patch ............................ SUCCESS [  3.268 s]
[INFO] Apache Jena - RDF Connection ....................... SUCCESS [  2.381 s]
[INFO] Apache Jena - DBOE Database Operation Environment .. SUCCESS [  0.112 s]
[INFO] Apache Jena - DBOE Base ............................ SUCCESS [  2.322 s]
[INFO] Apache Jena - DBOE Transactions .................... SUCCESS [  1.848 s]
[INFO] Apache Jena - DBOE Indexes ......................... SUCCESS [  0.603 s]
[INFO] Apache Jena - DBOE Index test suite ................ SUCCESS [  0.499 s]
[INFO] Apache Jena - DBOE Transactional Datastructures .... SUCCESS [ 49.172 s]
[INFO] Apache Jena - DBOE Storage ......................... SUCCESS [  1.835 s]
[INFO] Apache Jena - TDB1 (Native Triple Store) ........... SUCCESS [ 39.111 s]
[INFO] Apache Jena - TDB2 (Native Triple Store) ........... SUCCESS [ 32.696 s]
[INFO] Apache Jena - Libraries POM ........................ SUCCESS [  0.340 s]
[INFO] Apache Jena - Command line tools ................... SUCCESS [  6.332 s]
[INFO] Apache Jena - SPARQL Text Search ................... SUCCESS [  6.907 s]
[INFO] Apache Jena - Service Enhancer ..................... SUCCESS [ 13.130 s]
[INFO] Apache Jena - GeoSPARQL Engine ..................... SUCCESS [ 10.462 s]
[INFO] Apache Jena - Fuseki ............................... SUCCESS [  0.097 s]
[INFO] Apache Jena - Fuseki Core Engine ................... SUCCESS [  4.991 s]
[INFO] Apache Jena - Fuseki UI ............................ SUCCESS [01:06 min]
[INFO] Apache Jena - Fuseki Data Access Control ........... SUCCESS [  3.389 s]
[INFO] Apache Jena - Fuseki Server Main ................... SUCCESS [ 25.902 s]
[INFO] Apache Jena - Fuseki MOD - GeoSPARQL ............... SUCCESS [  4.034 s]
[INFO] Apache Jena - Fuseki Server Jar .................... SUCCESS [  5.232 s]
[INFO] Apache Jena - Fuseki Docker Tools .................. SUCCESS [  0.263 s]
[INFO] Apache Jena - Fuseki Binary Distribution ........... SUCCESS [  4.812 s]
[INFO] Apache Jena - Fuseki with GeoSPARQL Engine ......... SUCCESS [  7.584 s]
[INFO] Apache Jena - CommonsRDF for Jena .................. SUCCESS [  1.761 s]
[INFO] Apache Jena - Query Builder ........................ SUCCESS [ 10.533 s]
[INFO] Apache Jena - Integration Testing .................. SUCCESS [ 18.122 s]
[INFO] Apache Jena - Distribution ......................... SUCCESS [  2.441 s]
[INFO] Apache Jena - Code Examples ........................ SUCCESS [  1.180 s]
[INFO] Apache Jena - BOM .................................. SUCCESS [  0.217 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  09:48 min
[INFO] Finished at: 2026-08-10T18:49:49+02:00

Since the lock file diff is so huge, I could rather add the non-used dependencies as a secondary PR if needed, but I think the package workarounds for installation failed, so the clean up started from failures.

see the commit tag for more description of the changes 2bae46b

The removed dependencies are investigated with knip (knip.dev), as well as code-search. I did not add the knip configs since I didn't want to add more dependencies.

"built": true
}
},
"packageManager": "yarn@4.18.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe not necessary because I don't see it in other package.json deps, but a integrity hash was dropped.

@ThomasThelen

ThomasThelen commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

I gave this a local run to compare against a failing test I have in another PR and came across the corepack warning. I think this was from my stale node folder because after deleting and retrying I was free of the warning. It also looks like the warnings from #4053 are gone, too! I noticed, locally, a .yarn getting created and it could be added to the gitgnore with these rules

…kages

- Yarn: Migrate lock file with `corepack enable`, ‘yarn set version berry` and `yarn install`
- Maven/pom.xml: Use Corepack-managed Yarn 4 with immutable installs
- Yarn: Disable dependency lifecycle scripts by default and allow reviewed builds
- Yarn: Disallow git repos by default and allow fetching yasgui-geo-tg
- Update Maven frontend executions for Corepack
- Simplify cross-platform E2E and offline-serving scripts
- Remove obsolete dependencies and update Vue compiler configuration
  - @cypress/vue: legacy standalone mount package; Cypress 15 provides Vue
    mount via core (cypress/vue) and no component specs exist
  - @types/codemirror: types for CodeMirror 5, but the editor uses
    CodeMirror 6 (codemirror@6 + @codemirror/*, which ship their own types)
  - eslint-plugin-promise: not referenced by any ESLint flat config
  - express: no imports (only matched the Apache license header)
  - nanoid: no imports
  - Remove @vue/compat: the Vue 3 migration-build compat layer was declared
    but never aliased in the Vite config, so it was unused
  - Remove @vue/eslint-config-standard and eslint-plugin-import: superseded by
    the ESLint flat config (@eslint/js + eslint-plugin-vue)
  - Remove follow-redirects: unused direct dependency, resolved transitively
    via the lockfile with no source imports
  - Drop cross-env and run-script-os: E2E/offline scripts rewritten to POSIX
    env syntax, dropping the separate win32 variant
- apacheGH-4090: Enable Cypress coverage collection
- Regenerate the Yarn lockfile and update RAT exclusions
- apacheGH-4053: Upgrading to Yarn-modern removes warnings
- Remove obsolete js config files (.eslintrc.js, plugins/index.js, support/vite-preprocessor.js) superseded by flat ESLint config, setupNodeEvents, and cypress-vite
@OyvindLGjesdal
OyvindLGjesdal force-pushed the upgrade-to-yarn-modern branch from 2bae46b to 7535445 Compare August 10, 2026 20:58
@OyvindLGjesdal

OyvindLGjesdal commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

Got an unrelated(?) failure on the PR after force pushing

[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   TS_FusekiMain.fuseki_byte_buffer_pool_request expected: <1> but was: <0>
[INFO] 
[ERROR] Tests run: 799, Failures: 1, Errors: 0, Skipped: 0

rerunning worked.

@afs

afs commented Aug 12, 2026

Copy link
Copy Markdown
Member

Got an unrelated(?) failure on the PR after force pushing

I did a repo clone of OyvindLGjesdal:upgrade-to-yarn-modern and got a clean build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade from Yarn classic to Yarn modern

3 participants