diff --git a/.tool-versions b/.tool-versions index 7aa6272c..d60c8cbe 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,3 +1,3 @@ -nodejs 18.19.1 +nodejs 22.2.0 pnpm 8.15.4 -python 3.11.5 \ No newline at end of file +python 3.11.5 diff --git a/flake.lock b/flake.lock index 3ac48479..f7b50153 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709747860, - "narHash": "sha256-RT4zuBy579m+l8VyIQFOR66WXfcs4g1jntZUHjh6eoI=", + "lastModified": 1717112898, + "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58ae79ea707579c40102ddf62d84b902a987c58b", + "rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0fe1f26c..c5f21a17 100644 --- a/flake.nix +++ b/flake.nix @@ -4,68 +4,85 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { - self, - nixpkgs, - flake-utils, - }: let - aapt2buildToolsVersion = "33.0.2"; - in - flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { - inherit system; - overlays = [ - (final: prev: rec { - fontMin = prev.python311.withPackages (ps: with ps; [brotli fonttools] ++ (with fonttools.optional-dependencies; [woff])); - android = prev.androidenv.composeAndroidPackages { - buildToolsVersions = ["30.0.3" aapt2buildToolsVersion]; - platformVersions = ["33"]; - }; - cypress = prev.cypress.overrideAttrs (cyPrev: rec { - version = "13.2.0"; - src = prev.fetchzip { - url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip"; - hash = "sha256-9o0nprGcJhudS1LNm+T7Vf0Dwd1RBauYKI+w1FBQ3ZM="; + outputs = + { + self, + nixpkgs, + flake-utils, + }: + let + aapt2buildToolsVersion = "33.0.2"; + in + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { + inherit system; + overlays = [ + (final: prev: rec { + fontMin = prev.python311.withPackages ( + ps: + with ps; + [ + brotli + fonttools + ] + ++ (with fonttools.optional-dependencies; [ woff ]) + ); + android = prev.androidenv.composeAndroidPackages { + buildToolsVersions = [ + "30.0.3" + aapt2buildToolsVersion + ]; + platformVersions = [ "33" ]; }; - }); - nodejs = prev.nodejs_18; - }) - ]; - config = { - allowUnfree = true; - android_sdk.accept_license = true; + cypress = prev.cypress.overrideAttrs (cyPrev: rec { + version = "13.2.0"; + src = prev.fetchzip { + url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip"; + hash = "sha256-9o0nprGcJhudS1LNm+T7Vf0Dwd1RBauYKI+w1FBQ3ZM="; + }; + }); + nodejs = prev.nodejs_22; + }) + ]; + config = { + allowUnfree = true; + android_sdk.accept_license = true; + }; }; - }; - androidFhs = pkgs.buildFHSUserEnv { - name = "android-env"; - targetPkgs = pkgs: with pkgs; []; - runScript = "bash"; - profile = '' - export ALLOW_NINJA_ENV=true - export USE_CCACHE=1 - export LD_LIBRARY_PATH=/usr/lib:/usr/lib32 - ''; - }; - in { - devShell = pkgs.mkShell rec { - nativeBuildInputs = [androidFhs]; - buildInputs = with pkgs; [ - nodejs - corepack - # tools - curl - jq - fontMin - cypress - # android - jdk17 - android.androidsdk - ]; - ANDROID_JAVA_HOME = "${pkgs.jdk.home}"; - ANDROID_SDK_ROOT = "${pkgs.android.androidsdk}/libexec/android-sdk"; - GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${aapt2buildToolsVersion}/aapt2"; - CYPRESS_INSTALL_BINARY = "0"; - CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; - }; - }); + androidFhs = pkgs.buildFHSUserEnv { + name = "android-env"; + targetPkgs = pkgs: with pkgs; [ ]; + runScript = "bash"; + profile = '' + export ALLOW_NINJA_ENV=true + export USE_CCACHE=1 + export LD_LIBRARY_PATH=/usr/lib:/usr/lib32 + ''; + }; + in + { + devShell = pkgs.mkShell rec { + nativeBuildInputs = [ androidFhs ]; + buildInputs = with pkgs; [ + nodejs + corepack + # tools + curl + jq + fontMin + cypress + # android + jdk17 + android.androidsdk + ]; + ANDROID_JAVA_HOME = "${pkgs.jdk.home}"; + ANDROID_SDK_ROOT = "${pkgs.android.androidsdk}/libexec/android-sdk"; + GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${aapt2buildToolsVersion}/aapt2"; + CYPRESS_INSTALL_BINARY = "0"; + CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; + }; + } + ); } diff --git a/images/app-builder/scripts/node_setup.sh b/images/app-builder/scripts/node_setup.sh index 57eca1b1..1169538b 100644 --- a/images/app-builder/scripts/node_setup.sh +++ b/images/app-builder/scripts/node_setup.sh @@ -21,9 +21,9 @@ export DEBIAN_FRONTEND=noninteractive -SCRSUFFIX="_18.x" -NODENAME="Node.js 18.x" -NODEREPO="node_18.x" +SCRSUFFIX="_22.x" +NODENAME="Node.js 22.x" +NODEREPO="node_22.x" NODEPKG="nodejs" print_status() { @@ -94,7 +94,7 @@ node_deprecation_warning() { "X${NODENAME}" == "XNode.js 8.x LTS Carbon" || "X${NODENAME}" == "XNode.js 9.x" || "X${NODENAME}" == "XNode.js 10.x" || - "X${NODENAME}" == "XNode.js 11.x" || + "X${NODENAME}" == "XNode.js 11.x" || "X${NODENAME}" == "XNode.js 12.x" || "X${NODENAME}" == "XNode.js 13.x" || "X${NODENAME}" == "XNode.js 14.x" || diff --git a/images/app-cypress/Dockerfile b/images/app-cypress/Dockerfile index 6646ad28..ae6cbd21 100644 --- a/images/app-cypress/Dockerfile +++ b/images/app-cypress/Dockerfile @@ -1,5 +1,5 @@ ### Set base image -FROM cypress/base:18.16.1 +FROM cypress/base:22.0.0 USER root diff --git a/images/node-base/Dockerfile b/images/node-base/Dockerfile index f819fce0..e08e30f8 100644 --- a/images/node-base/Dockerfile +++ b/images/node-base/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine3.18 +FROM node:22-alpine RUN apk update && apk add git curl jq && mkdir -p /opt diff --git a/images/node-builder/Dockerfile b/images/node-builder/Dockerfile index 456508ae..bd8a10b8 100644 --- a/images/node-builder/Dockerfile +++ b/images/node-builder/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine3.18 +FROM node:22-alpine RUN apk update && apk add git jq curl python3 build-base diff --git a/package.json b/package.json index 2b410f53..ae49fa22 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "@openstapps/openstapps", "private": true, "engines": { - "node": ">=18.16", - "pnpm": ">=8" + "node": "^22.0.0", + "pnpm": "^8.15.4" }, "scripts": { "build": "dotenv -c -- turbo run build",