Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ permissions:
jobs:
# This workflow contains a single job called "build"
build:
name: Test Suite for fourfront (Python 3.11, Node 20)
name: Test Suite for fourfront (Python 3.11, Node 24)

# The type of runner that the job will run on
runs-on: ubuntu-22.04
Expand All @@ -32,7 +32,7 @@ jobs:
test_type: ['UNIT', 'NPM', 'Docker']
# We are really not set up for these next two to be multiplicative, so be careful adding more.
python_version: ['3.11']
node_version: ['20']
node_version: ['24']

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ fourfront
Change Log
----------

8.10.0
=====

* Upgrade Node to 24.14.0


8.9.4
=====

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ ENV NGINX_USER=nginx \
PIP_DISABLE_PIP_VERSION_CHECK=on \
PIP_DEFAULT_TIMEOUT=100 \
NVM_VERSION=v0.39.1 \
NODE_VERSION=20.17.0
NODE_VERSION=24.14.0

# Configure Python3.7 venv
ENV VIRTUAL_ENV=/opt/venv
Expand Down
2,683 changes: 1,386 additions & 1,297 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
"dependencies": {
"@fortawesome/fontawesome-free": "^6.6.0",
"@hms-dbmi-bgm/react-workflow-viz": "0.1.11",
"@hms-dbmi-bgm/shared-portal-components": "git+https://github.com/4dn-dcic/shared-portal-components#0.1.95",
"@hms-dbmi-bgm/shared-portal-components": "git+https://github.com/4dn-dcic/shared-portal-components#0.1.96",
"@reduxjs/toolkit": "^2.2.6",
"auth0-lock": "^12.5.1",
"d3": "^7.5.0",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tool.poetry]
# Note: Various modules refer to this system as "encoded", not "fourfront".
name = "encoded"
version = "8.9.4"
version = "8.10.0"
description = "4DN-DCIC Fourfront"
authors = ["4DN-DCIC Team <support@4dnucleome.org>"]
license = "MIT"
Expand Down
18 changes: 18 additions & 0 deletions src/encoded/static/shims/auth0-cordova-plugin.disabled.web.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Disable the Auth0 Cordova plugin for web builds.
// Important: do NOT set window.CordovaAuth0Plugin here.

export default function CordovaAuth0PluginDisabled() {
// Constructible, but intentionally inert.
}

CordovaAuth0PluginDisabled.prototype.setWebAuth = function () {};
CordovaAuth0PluginDisabled.prototype.authorize = function () {
return Promise.reject(new Error("Cordova Auth0 plugin is disabled in web builds."));
};
CordovaAuth0PluginDisabled.prototype.clearSession = function () {
return Promise.reject(new Error("Cordova Auth0 plugin is disabled in web builds."));
};

// Some versions check .version; include it to avoid version errors if referenced.
CordovaAuth0PluginDisabled.version = "9.30.1";
CordovaAuth0PluginDisabled.prototype.version = "9.30.1";
33 changes: 33 additions & 0 deletions webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,33 @@ const rules = [
},
];

const webRules = [
// Prevent auth0-js from ever detecting CordovaAuth0Plugin in web builds
{
test: /node_modules[\\/]+auth0-js[\\/]+dist[\\/]+auth0\.min\.esm\.js$/,
loader: 'string-replace-loader',
enforce: 'pre',
options: {
// auth0-js uses this token internally; renaming it disables the detection path
search: 'CordovaAuth0Plugin',
replace: '__DISABLED__CordovaAuth0Plugin'
}
},

// patch the non-esm min build if it ever gets pulled in
{
test: /node_modules[\\/]+auth0-js[\\/]+dist[\\/]+auth0\.min\.js$/,
loader: 'string-replace-loader',
enforce: 'pre',
options: {
search: 'CordovaAuth0Plugin',
replace: '__DISABLED__CordovaAuth0Plugin'
}
},

...rules
];

const resolve = {
extensions : [".webpack.js", ".web.js", ".js", ".json", ".jsx"],
//symlinks: false,
Expand Down Expand Up @@ -139,6 +166,12 @@ webPlugins.push(new webpack.DefinePlugin({
'SERVERSIDE' : JSON.stringify(false),
'BUILDTYPE' : JSON.stringify(env)
}));
webPlugins.push(
new webpack.NormalModuleReplacementPlugin(
/auth0-js[\\/]dist[\\/]cordova-auth0-plugin\.min\.js$/,
path.resolve(__dirname, 'src/encoded/static/shims/auth0-cordova-plugin.disabled.web.js')
)
);

serverPlugins.push(new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(env),
Expand Down
Loading