diff --git a/app/scripts/nmr-cli/Dockerfile b/app/scripts/nmr-cli/Dockerfile index 207c4d3..6b0c237 100644 --- a/app/scripts/nmr-cli/Dockerfile +++ b/app/scripts/nmr-cli/Dockerfile @@ -1,7 +1,7 @@ # build the image ` docker build --tag nmr-cli . ` # run the container ` docker run -it nmr-cli bash ` -FROM mcr.microsoft.com/playwright:v1.55.0-noble +FROM mcr.microsoft.com/playwright:v1.56.1-noble SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/app/scripts/nmr-cli/package-lock.json b/app/scripts/nmr-cli/package-lock.json index 56a1a7a..76095cb 100644 --- a/app/scripts/nmr-cli/package-lock.json +++ b/app/scripts/nmr-cli/package-lock.json @@ -9,22 +9,22 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@zakodium/nmrium-core": "^0.1.7", - "@zakodium/nmrium-core-plugins": "^0.1.10", - "axios": "^1.11.0", - "filelist-utils": "^1.11.3", - "nmr-processing": "^19.1.0", - "playwright": "^1.55.0", + "@zakodium/nmrium-core": "^0.4.2", + "@zakodium/nmrium-core-plugins": "^0.5.3", + "axios": "^1.12.2", + "file-collection": "^5.4.0", + "nmr-processing": "^20.1.0", + "playwright": "^1.56.1", "yargs": "^18.0.0" }, "bin": { "nmr-cli": "build/index.js" }, "devDependencies": { - "@types/node": "^24.3.1", - "@types/yargs": "^17.0.33", + "@types/node": "^24.9.1", + "@types/yargs": "^17.0.34", "ts-node": "^10.9.2", - "typescript": "^5.9.2" + "typescript": "^5.9.3" } }, "node_modules/@cspotcode/source-map-support": { @@ -95,20 +95,21 @@ "dev": true }, "node_modules/@types/node": { - "version": "24.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz", - "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz", + "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.10.0" + "undici-types": "~7.16.0" } }, "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "version": "17.0.34", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.34.tgz", + "integrity": "sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -120,53 +121,53 @@ "dev": true }, "node_modules/@zakodium/nmrium-core": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.1.7.tgz", - "integrity": "sha512-aKSXINlAcNyXjo2gs1/ePgfB6SbW2SRYle8/zjg0My8nvsZozbsjW+VtM/QXGEfYthgyw3HcsIr489AhUyEH9A==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.4.2.tgz", + "integrity": "sha512-Hattb65cahl5o7rJmqI1ZMJsJQCLXNkhAyUYYXqai0Awf0iV1HujlXn5+hmDSpZmKqAIEBlKENqP6aUxLPZq3A==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "cheminfo-types": "^1.8.1", "fifo-logger": "^2.0.1", - "file-collection": "^5.1.1", + "file-collection": "^5.4.0", "is-any-array": "^2.0.1", "lodash.merge": "^4.6.2", - "ml-spectra-processing": "^14.17.1", + "ml-spectra-processing": "^14.18.0", "nmr-correlation": "^2.3.5" } }, "node_modules/@zakodium/nmrium-core-plugins": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.1.10.tgz", - "integrity": "sha512-f6y6n2bCoN4pUTAbaKl9NNZO1vd86ZFzyeZ8eSAYpyp4z29Pu4r8qBsgKSrJwW7VY916bCZmk++pw25cXyGSuQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.5.3.tgz", + "integrity": "sha512-tbOSouDdwXnvCI39iNQhDo4+cFJnPVPDhSY3B5k4TIzxBi34WYsXpMGM6d35uy9/MIvek+vJ09W/1FsoIcLFhA==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "@date-fns/utc": "^2.1.1", - "@zakodium/nmrium-core": "^0.1.7", + "@zakodium/nmrium-core": "^0.4.2", "cheminfo-types": "^1.8.1", "convert-to-jcamp": "^6.0.0", "date-fns": "^4.1.0", - "file-collection": "^5.1.1", + "file-collection": "^5.4.0", "gyromagnetic-ratio": "^2.0.0", "is-any-array": "^2.0.1", - "jcampconverter": "^11.0.5", - "linear-sum-assignment": "^1.0.7", + "jcampconverter": "^12.0.1", + "linear-sum-assignment": "^1.0.9", "lodash.merge": "^4.6.2", - "ml-spectra-processing": "^14.17.1", - "nmr-processing": "^19.1.0", - "openchemlib": "^9.7.0", - "openchemlib-utils": "^8.3.1", + "ml-spectra-processing": "^14.18.0", + "nmr-processing": "^20.1.0", + "openchemlib": "^9.12.1", + "openchemlib-utils": "^8.7.0", "sdf-parser": "^7.0.4" } }, "node_modules/@zip.js/zip.js": { - "version": "2.7.73", - "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.73.tgz", - "integrity": "sha512-I2UP8/rdQE5hTtVVL08B7P8XuwXiKuuMUPjNuFOVL/9b+8IsExR9S5jz2H58u0rJjU4M1BikLgqEMG8gZJZVBw==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.8.tgz", + "integrity": "sha512-v0KutehhSAuaoFAFGLp+V4+UiZ1mIxQ8vNOYMD7k9ZJaBbtQV49MYlg568oRLiuwWDg2Di58Iw3Q0ESNWR+5JA==", "license": "BSD-3-Clause", "engines": { "bun": ">=0.7.0", "deno": ">=1.0.0", - "node": ">=16.5.0" + "node": ">=18.0.0" } }, "node_modules/acorn": { @@ -234,9 +235,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", - "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -320,11 +321,6 @@ "ml-spectra-processing": "^14.2.2" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -490,25 +486,15 @@ } }, "node_modules/file-collection": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/file-collection/-/file-collection-5.1.1.tgz", - "integrity": "sha512-zaMg3tvTVZWLQk6TtNcV/iwxm+kJ7HbPGdqWaUzKNXYUH2iPLe3TaGzJDhlCmOg84j7tetf9Bc7i4BQsaEONYA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/file-collection/-/file-collection-5.4.0.tgz", + "integrity": "sha512-xYp3gp244nHg3vccpQjZyxZVIJUGdUbEvDPq/IuFDgx6P0xkU+Zskoc+cOehvJqgo2KZwMaPnVQHnywRHuXJnA==", "license": "MIT", "dependencies": { - "@zip.js/zip.js": "^2.7.72", + "@zip.js/zip.js": "^2.8.8", "cheminfo-types": "^1.8.1" } }, - "node_modules/filelist-utils": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/filelist-utils/-/filelist-utils-1.11.3.tgz", - "integrity": "sha512-KB3d9ruIVHSz53SL1FscfP+QXv1lkPDYE48JoKJ49N1b0AqI6Ux1LLG7ipVCuTlMpBMVW/I1sKEhdvBB4wgsiA==", - "dependencies": { - "cheminfo-types": "^1.7.3", - "jszip": "^3.10.1", - "pako": "^2.1.0" - } - }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -691,35 +677,11 @@ "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", "license": "MIT" }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/install": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", - "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/is-any-array": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, "node_modules/isutf8": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/isutf8/-/isutf8-4.0.1.tgz", @@ -730,9 +692,9 @@ } }, "node_modules/jcampconverter": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/jcampconverter/-/jcampconverter-11.0.5.tgz", - "integrity": "sha512-/FOcPmKqe7Mac7JYsYZv5vdFKNbg3NxXL9Mi2v9mYf2Tr8l57nKsdkJQjFToNZP827g7IOKmgXBTlOGnaHmmNg==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/jcampconverter/-/jcampconverter-12.0.1.tgz", + "integrity": "sha512-CbUP4uFdYXS+K8H0Zuhs9YPhMQnu2xsZ4yo4TIFrymtlH5bW8xrR9JjNn5ehSBWKgYYYbLtnwoH5QnvrvRVJEg==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "cheminfo-types": "^1.8.1", @@ -740,43 +702,18 @@ "ensure-string": "^1.2.0", "gyromagnetic-ratio": "^2.0.0", "ml-array-median": "^1.1.6", - "openchemlib": "^9.6.0" - } - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/jszip/node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dependencies": { - "immediate": "~3.0.5" + "openchemlib": "^9.12.1" } }, "node_modules/linear-sum-assignment": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/linear-sum-assignment/-/linear-sum-assignment-1.0.7.tgz", - "integrity": "sha512-jfLoSGwZNyjfY8eK4ayhjfcIu3BfWvP6sWieYzYI3AWldwXVoWEz1gtrQL10v/8YltYLBunqNjeVFXPMUs+MJg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/linear-sum-assignment/-/linear-sum-assignment-1.0.9.tgz", + "integrity": "sha512-1T2Ek3sxpt2mBHeBFMRJEikiIK/yIOwf+mrxv/DkAU/5ddnCMndZL//hFH7QuHa1tbaQADzsf9t7rkGZKqoFfQ==", "license": "MIT", "dependencies": { - "cheminfo-types": "^1.7.3", - "install": "^0.13.0", - "ml-matrix": "^6.11.0", - "ml-spectra-processing": "^14.2.2" + "cheminfo-types": "^1.8.1", + "ml-matrix": "^6.12.1", + "ml-spectra-processing": "^14.18.0" } }, "node_modules/lodash.merge": { @@ -945,9 +882,9 @@ } }, "node_modules/ml-gsd": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ml-gsd/-/ml-gsd-13.0.1.tgz", - "integrity": "sha512-Du0759hFmjz/LXYnbQcnUs7kP/3iczrczwEAax5W9GTVay9YtR6tZ019PJJK4Fw2aZvysUt3MwrnFZUemsHKCQ==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/ml-gsd/-/ml-gsd-13.1.0.tgz", + "integrity": "sha512-CmUZ/hCPCb6L089Xon1U8xSxTR35DMh3ICfaBuP16mKm7HA8XoonAnjnVOjM4ayewDjgMM3KVqPS/+ti3tFYhA==", "license": "MIT", "dependencies": { "cheminfo-types": "^1.8.1", @@ -1086,16 +1023,16 @@ } }, "node_modules/ml-signal-processing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-signal-processing/-/ml-signal-processing-2.0.0.tgz", - "integrity": "sha512-U7jY/QvTXKj2fDedOXNQf+hSXclQY+tVdVSsQzIQve6GL5a8W/kBHQ71dq80duNBB9bsv74Y4axOwD1AeMLyOA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ml-signal-processing/-/ml-signal-processing-2.1.0.tgz", + "integrity": "sha512-FgZKMMgslSnnT+WKpKwJrInKs0xYmCZb+pz/1Bcr8ks6KQrdNA2xI9jjkr74O5ZSA9RVGjGWt7gG2Ra8UhtrIw==", "license": "MIT", "dependencies": { "baselines": "^1.1.9", "cheminfo-types": "^1.8.1", "ml-gsd": "^13.0.1", "ml-savitzky-golay-generalized": "^4.2.0", - "ml-spectra-processing": "^14.12.0" + "ml-spectra-processing": "^14.17.1" } }, "node_modules/ml-simple-clustering": { @@ -1127,9 +1064,9 @@ } }, "node_modules/ml-spectra-processing": { - "version": "14.17.1", - "resolved": "https://registry.npmjs.org/ml-spectra-processing/-/ml-spectra-processing-14.17.1.tgz", - "integrity": "sha512-ff2K8Nb91I5fSYcRRiHH0RvUIX1nC4TGg/ctbbyf6R7SUR5MgKF5Kicj+w1HACCK4DQ1HvSc2ZHVE2Z1NDvCRQ==", + "version": "14.18.0", + "resolved": "https://registry.npmjs.org/ml-spectra-processing/-/ml-spectra-processing-14.18.0.tgz", + "integrity": "sha512-vzk7Lf/21mm9Otjn13xDFsFL4reDViU6GbtAxQfkXtprARxRRoQScbnlDNE11UhOKXy88/FTnR4vf2osMkT4fA==", "license": "MIT", "dependencies": { "binary-search": "^1.3.6", @@ -1181,9 +1118,9 @@ } }, "node_modules/nmr-processing": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/nmr-processing/-/nmr-processing-19.1.0.tgz", - "integrity": "sha512-Yu1iIITUiR63VrmE0SeGYcNWidYP4oldkD3V2AqQ15oDHBtmIxJkWV7q+MD/x9l44/6zpET8KNS/mdETfPAeUg==", + "version": "20.1.0", + "resolved": "https://registry.npmjs.org/nmr-processing/-/nmr-processing-20.1.0.tgz", + "integrity": "sha512-KxNe4JnUB/Rixsl2TmAgxUh9Dqd4PB9FCNiDz7NQFmaC7g6G0IcmdiaDV+rYFf2NhLkDeLIlX6kN3vfW+vSMBw==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "binary-search": "^1.3.6", @@ -1191,11 +1128,11 @@ "d3-interpolate": "^3.0.1", "gyromagnetic-ratio": "^2.0.0", "is-any-array": "^2.0.1", - "linear-sum-assignment": "^1.0.7", + "linear-sum-assignment": "^1.0.9", "ml-airpls": "^2.0.0", "ml-convolution": "^2.0.0", "ml-direct": "^1.0.0", - "ml-gsd": "^13.0.1", + "ml-gsd": "^13.1.0", "ml-hclust": "^3.1.0", "ml-levenberg-marquardt": "^5.0.0", "ml-matrix": "^6.12.1", @@ -1207,16 +1144,17 @@ "ml-regression-polynomial": "^3.0.2", "ml-regression-simple-linear": "^3.0.1", "ml-savitzky-golay-generalized": "^4.2.0", - "ml-signal-processing": "^2.0.0", + "ml-signal-processing": "^2.1.0", "ml-simple-clustering": "^1.0.0", "ml-sparse-matrix": "^3.1.0", - "ml-spectra-processing": "^14.14.1", + "ml-spectra-processing": "^14.18.0", "ml-tree-set": "^1.0.1", "multiplet-analysis": "^2.1.5", "nmr-correlation": "^3.0.0", "numeral": "^2.0.6", - "openchemlib-utils": "^8.2.0", - "spectrum-generator": "^8.1.0" + "openchemlib": "^9.12.1", + "openchemlib-utils": "^8.7.0", + "spectrum-generator": "^8.1.1" } }, "node_modules/nmr-processing/node_modules/ml-matrix-convolution": { @@ -1271,15 +1209,15 @@ } }, "node_modules/openchemlib": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/openchemlib/-/openchemlib-9.7.0.tgz", - "integrity": "sha512-IMO5O+151rrfakuTkEpCsZvMXFqfCGWrXarlEBukiAqDYhxqSG0LtyzZdtTn0ETSY8Nz+oTLGs1iJ2tRRUK7lA==", + "version": "9.12.1", + "resolved": "https://registry.npmjs.org/openchemlib/-/openchemlib-9.12.1.tgz", + "integrity": "sha512-cODgYX/SMOsT/PkGzw7+DRy//6sZOowkpFyIQYA3dQyNXZU6MXjIvaLMkk5c9j+JTIAiA1JsyARPbKh0AnEcGw==", "license": "BSD-3-Clause" }, "node_modules/openchemlib-utils": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/openchemlib-utils/-/openchemlib-utils-8.3.1.tgz", - "integrity": "sha512-Fzgw80e/W7G5CT6DZknaIkL0DlzBPU9ocu1UL1zIEuYQ7vdpSq9u0rEQcvrlMOj4mNKNagNBIzmO99se39HoVg==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/openchemlib-utils/-/openchemlib-utils-8.7.0.tgz", + "integrity": "sha512-UTQnWsxHbSqxor6enmsZUhbh8MGO3ImlilYY2zP+hXo0HGuuSn7B8XkHMRAXHDgURNFM56ezVBtg/RdxX1k9Mg==", "license": "MIT", "dependencies": { "atom-sorter": "^2.2.1", @@ -1291,14 +1229,9 @@ "sdf-parser": "^7.0.4" }, "peerDependencies": { - "openchemlib": ">=9.3.0" + "openchemlib": ">=9.12.0" } }, - "node_modules/pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, "node_modules/papaparse": { "version": "5.5.3", "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.5.3.tgz", @@ -1306,12 +1239,12 @@ "license": "MIT" }, "node_modules/playwright": { - "version": "1.55.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.55.0.tgz", - "integrity": "sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==", + "version": "1.56.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.56.1.tgz", + "integrity": "sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==", "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.55.0" + "playwright-core": "1.56.1" }, "bin": { "playwright": "cli.js" @@ -1324,9 +1257,9 @@ } }, "node_modules/playwright-core": { - "version": "1.55.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.55.0.tgz", - "integrity": "sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==", + "version": "1.56.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.56.1.tgz", + "integrity": "sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==", "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" @@ -1335,35 +1268,11 @@ "node": ">=18" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "node_modules/sdf-parser": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/sdf-parser/-/sdf-parser-7.0.4.tgz", @@ -1374,11 +1283,6 @@ "ensure-string": "^1.2.0" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, "node_modules/spectrum-generator": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/spectrum-generator/-/spectrum-generator-8.1.1.tgz", @@ -1389,14 +1293,6 @@ "ml-spectra-processing": "^14.10.0" } }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -1471,9 +1367,9 @@ } }, "node_modules/typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1491,17 +1387,12 @@ "license": "MIT" }, "node_modules/undici-types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", - "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", diff --git a/app/scripts/nmr-cli/package.json b/app/scripts/nmr-cli/package.json index 57f68dd..5f8dc57 100644 --- a/app/scripts/nmr-cli/package.json +++ b/app/scripts/nmr-cli/package.json @@ -15,18 +15,18 @@ "nmr-cli": "./build/index.js" }, "dependencies": { - "@zakodium/nmrium-core": "^0.1.7", - "@zakodium/nmrium-core-plugins": "^0.1.10", - "axios": "^1.11.0", - "filelist-utils": "^1.11.3", - "nmr-processing": "^19.1.0", - "playwright": "^1.55.0", + "@zakodium/nmrium-core": "^0.4.2", + "@zakodium/nmrium-core-plugins": "^0.5.3", + "axios": "^1.13.0", + "file-collection": "^5.4.0", + "nmr-processing": "^20.1.0", + "playwright": "^1.56.1", "yargs": "^18.0.0" }, "devDependencies": { - "@types/node": "^24.3.1", - "@types/yargs": "^17.0.33", + "@types/node": "^24.9.1", + "@types/yargs": "^17.0.34", "ts-node": "^10.9.2", - "typescript": "^5.9.2" + "typescript": "^5.9.3" } -} +} \ No newline at end of file diff --git a/app/scripts/nmr-cli/src/prase-spectra.ts b/app/scripts/nmr-cli/src/prase-spectra.ts index 39937b1..2044e4c 100644 --- a/app/scripts/nmr-cli/src/prase-spectra.ts +++ b/app/scripts/nmr-cli/src/prase-spectra.ts @@ -1,11 +1,8 @@ import { join, isAbsolute } from 'path' import { type NmriumState } from '@zakodium/nmrium-core' import init from '@zakodium/nmrium-core-plugins' -import { - fileCollectionFromWebSource, - fileCollectionFromPath, -} from 'filelist-utils' import playwright from 'playwright' +import { FileCollection } from 'file-collection' interface Snapshot { image: string @@ -94,11 +91,11 @@ async function loadSpectrumFromURL(url: string, enableSnapshot = false) { ], baseURL, } - const fileCollection = await fileCollectionFromWebSource(source, {}) + const [nmriumState] = await core.readFromWebSource(source); const { - nmriumState: { data, version }, - } = await core.read(fileCollection) + data, version + } = nmriumState; let images: Snapshot[] = [] @@ -112,7 +109,9 @@ async function loadSpectrumFromURL(url: string, enableSnapshot = false) { async function loadSpectrumFromFilePath(path: string, enableSnapshot = false) { const dirPath = isAbsolute(path) ? path : join(process.cwd(), path) - const fileCollection = await fileCollectionFromPath(dirPath, {}) + const fileCollection = await FileCollection.fromPath(dirPath, { + unzip: { zipExtensions: ['zip', 'nmredata'] }, + }) const { nmriumState: { data, version }, diff --git a/app/scripts/nmr-cli/src/prediction/parsePredictionCommand.ts b/app/scripts/nmr-cli/src/prediction/parsePredictionCommand.ts index d8160b3..4387a18 100644 --- a/app/scripts/nmr-cli/src/prediction/parsePredictionCommand.ts +++ b/app/scripts/nmr-cli/src/prediction/parsePredictionCommand.ts @@ -4,7 +4,6 @@ import { GenerateSpectrumOptions, ShiftsItem, } from './generatePredictedSpectrumData' -import { v4 } from '@lukeed/uuid' import { CURRENT_EXPORT_VERSION } from '@zakodium/nmrium-core' import https from 'https' @@ -184,7 +183,7 @@ async function predictNMR(options: PredictionArgs): Promise { const spectra = [] for (const result of responseResult.result) { - const name = v4() + const name = crypto.randomUUID() const data = generatePredictedSpectrumData(result.shifts, { from, to, @@ -209,7 +208,7 @@ async function predictNMR(options: PredictionArgs): Promise { } spectra.push({ - id: v4(), + id: crypto.randomUUID(), data, info, }) diff --git a/app/scripts/nmr-cli/src/publication-string.ts b/app/scripts/nmr-cli/src/publication-string.ts index 3133a53..8f0d288 100644 --- a/app/scripts/nmr-cli/src/publication-string.ts +++ b/app/scripts/nmr-cli/src/publication-string.ts @@ -3,7 +3,6 @@ import { rangesToXY, type NMRRangeWithIntegration, } from 'nmr-processing' -import { v4 } from '@lukeed/uuid' import { CURRENT_EXPORT_VERSION } from '@zakodium/nmrium-core' import { castToArray } from './utilities/castToArray' @@ -41,7 +40,7 @@ function generateSpectrumFromRanges( } const spectrum = { - id: v4(), + id: crypto.randomUUID(), data: { x: castToArray(x), im: undefined, re: castToArray(y) }, info, ranges: {