diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e5f1e71d8989b49ef1df57b4f7991d86227a3616..cec7d07e922c0f402729cd0e77d301ea35c61379 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ stages: - 'deploy' .pnpm-tests: - image: node:23-alpine + image: node:24-alpine before_script: - corepack enable - corepack prepare pnpm@latest-10 --activate diff --git a/Dockerfile b/Dockerfile index e0b9b699d181987b49359522007d1336a0d0c92b..b6a037ab97dff1cf761282154f302ebd46c68944 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -FROM node:23-alpine AS base +FROM node:24-alpine AS base diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 00e7db447d669530e8da74f0c71d9685db2700d1..dcf4ea8855b75b7951fa7fe6d83b52cf310e6008 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 14.1.2 '@types/node': specifier: ^22.10.10 - version: 22.15.12 + version: 22.15.16 bootstrap: specifier: 5.3.6 version: 5.3.6(@popperjs/core@2.11.8) @@ -70,7 +70,7 @@ importers: version: 3.5.3 vitest: specifier: ^3.0.0 - version: 3.1.3(@types/node@22.15.12) + version: 3.1.3(@types/node@22.15.16) packages: @@ -342,8 +342,8 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/node@22.15.12': - resolution: {integrity: sha512-K0fpC/ZVeb8G9rm7bH7vI0KAec4XHEhBam616nVJCV51bKzJ6oA3luG4WdKoaztxe70QaNjS/xBmcDLmr4PiGw==} + '@types/node@22.15.16': + resolution: {integrity: sha512-3pr+KjwpVujqWqOKT8mNR+rd09FqhBLwg+5L/4t0cNYBzm/yEiYGCxWttjaPBsLtAo+WFNoXzGJfolM1JuRXoA==} '@vitest/expect@3.1.3': resolution: {integrity: sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==} @@ -855,7 +855,7 @@ snapshots: '@types/mdurl@2.0.0': {} - '@types/node@22.15.12': + '@types/node@22.15.16': dependencies: undici-types: 6.21.0 @@ -866,13 +866,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.3(vite@6.3.5(@types/node@22.15.12))': + '@vitest/mocker@3.1.3(vite@6.3.5(@types/node@22.15.16))': dependencies: '@vitest/spy': 3.1.3 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(@types/node@22.15.12) + vite: 6.3.5(@types/node@22.15.16) '@vitest/pretty-format@3.1.3': dependencies: @@ -1132,13 +1132,13 @@ snapshots: undici-types@6.21.0: {} - vite-node@3.1.3(@types/node@22.15.12): + vite-node@3.1.3(@types/node@22.15.16): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@22.15.12) + vite: 6.3.5(@types/node@22.15.16) transitivePeerDependencies: - '@types/node' - jiti @@ -1153,7 +1153,7 @@ snapshots: - tsx - yaml - vite@6.3.5(@types/node@22.15.12): + vite@6.3.5(@types/node@22.15.16): dependencies: esbuild: 0.25.4 fdir: 6.4.4(picomatch@4.0.2) @@ -1162,13 +1162,13 @@ snapshots: rollup: 4.40.1 tinyglobby: 0.2.13 optionalDependencies: - '@types/node': 22.15.12 + '@types/node': 22.15.16 fsevents: 2.3.3 - vitest@3.1.3(@types/node@22.15.12): + vitest@3.1.3(@types/node@22.15.16): dependencies: '@vitest/expect': 3.1.3 - '@vitest/mocker': 3.1.3(vite@6.3.5(@types/node@22.15.12)) + '@vitest/mocker': 3.1.3(vite@6.3.5(@types/node@22.15.16)) '@vitest/pretty-format': 3.1.3 '@vitest/runner': 3.1.3 '@vitest/snapshot': 3.1.3 @@ -1185,11 +1185,11 @@ snapshots: tinyglobby: 0.2.13 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@22.15.12) - vite-node: 3.1.3(@types/node@22.15.12) + vite: 6.3.5(@types/node@22.15.16) + vite-node: 3.1.3(@types/node@22.15.16) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.15.12 + '@types/node': 22.15.16 transitivePeerDependencies: - jiti - less diff --git a/src/index.ts b/src/index.ts index 203cc1b5b3a603ec68536b0a553d969c5abd5b1e..dec245353b5f93a865bd3a38aaa88432db459112 100644 --- a/src/index.ts +++ b/src/index.ts @@ -101,14 +101,19 @@ async function run(inputDir: string, outputDir: string, options: CliOptions) { function getNum(x: Resolution) { return parseInt( - x.number.match(/\.(\d+)[PFB]?$/)?.[1], + x.number.match(/\d+\.(\d+)[PBF]?/)?.[1], 10, ); } + function getType(x: Resolution) { + return x.number.match(/\d+\.\d+([PBF]?)/)?.[1]; + } + // This works because `0` and `NaN` are falsy. :) return ( - tOrder[b.type] - tOrder[a.type] || getNum(b) - getNum(a) + tOrder[getType(b)] - tOrder[getType(a)] + || getNum(b) - getNum(a) ); }), },