From 4fc46124315ae382a662be9f2a512616ef68388a Mon Sep 17 00:00:00 2001 From: Otavio Jacobi Date: Tue, 17 Dec 2024 15:17:13 -0300 Subject: [PATCH 1/6] Update oclif to 4.17.0 and @oclif/core 4.1.0 Change-type: patch --- npm-shrinkwrap.json | 388 +++++++++++++------------------------------- 1 file changed, 113 insertions(+), 275 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 57720f3b0..1b8e1d5fd 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1145,15 +1145,16 @@ "dev": true }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" @@ -1390,32 +1391,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@balena/abstract-sql-compiler": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-9.2.0.tgz", @@ -1523,17 +1498,6 @@ "through": "^2.3.8" } }, - "node_modules/@balena/compose/node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@balena/compose/node_modules/stream-to-promise": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-to-promise/-/stream-to-promise-3.0.0.tgz", @@ -2319,7 +2283,6 @@ "version": "1.12.5", "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.12.5.tgz", "integrity": "sha512-d3iiHxdpg5+ZcJ6jnDSOT8Z0O0VMVGy34jAnYLUX8yd36b1qn8f1TwOA/Lc7TsOh03IkPJ38eGI5qD2EjNkoEA==", - "license": "Apache-2.0", "dependencies": { "@grpc/proto-loader": "^0.7.13", "@js-sdsl/ordered-map": "^4.4.2" @@ -2332,7 +2295,6 @@ "version": "0.7.13", "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", - "license": "Apache-2.0", "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", @@ -2350,7 +2312,6 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -2364,7 +2325,6 @@ "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -2382,7 +2342,6 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2494,7 +2453,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -2515,7 +2473,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -2647,7 +2604,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz", "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==", "dev": true, - "license": "MIT", "dependencies": { "undici-types": "~6.20.0" } @@ -2751,7 +2707,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -2772,7 +2727,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -2899,7 +2853,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -2920,7 +2873,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3004,7 +2956,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.9.tgz", "integrity": "sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" } @@ -3043,7 +2994,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -3064,7 +3014,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3165,7 +3114,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -3186,7 +3134,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3294,7 +3241,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.3.tgz", "integrity": "sha512-fuF9laMmHoOgWapF9h9hv6opA5WvmGFHsTYGCmuFxcghIhEhb3dN0CdQR4BUMqa2H506NCj8cGX4jwMsE4t6dA==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/core": "^10.1.4", "@inquirer/type": "^3.0.2" @@ -3311,7 +3257,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -3332,7 +3277,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.3.tgz", "integrity": "sha512-zeo++6f7hxaEe7OjtMzdGZPHiawsfmCZxWB9X1NpmYgbeoyerIbWemvlBxxl+sQIlHC0WuSAG19ibMq3gbhaqQ==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/core": "^10.1.4", "@inquirer/type": "^3.0.2" @@ -3349,7 +3293,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.6.tgz", "integrity": "sha512-yANzIiNZ8fhMm4NORm+a74+KFYHmf7BZphSOBovIzYPVLquseTGEkU5l2UTnBOf5k0VLmTgPighNDLE9QtbViQ==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/core": "^10.1.4", "@inquirer/figures": "^1.0.9", @@ -3369,7 +3312,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3382,7 +3324,6 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -3398,7 +3339,6 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, - "license": "ISC", "engines": { "node": ">= 12" } @@ -3408,7 +3348,6 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, - "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } @@ -3418,7 +3357,6 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "license": "ISC", "engines": { "node": ">=14" }, @@ -3431,7 +3369,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3444,7 +3381,6 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -3476,7 +3412,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -3497,7 +3432,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3599,7 +3533,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", "dev": true, - "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.9", "@inquirer/type": "^3.0.2", @@ -3620,7 +3553,6 @@ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3914,7 +3846,6 @@ "version": "4.4.2", "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/js-sdsl" @@ -4276,32 +4207,27 @@ "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" }, "node_modules/@protobufjs/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" @@ -4310,32 +4236,27 @@ "node_modules/@protobufjs/float": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" }, "node_modules/@protobufjs/path": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" }, "node_modules/@protobufjs/pool": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@resin.io/types-hidepath": { "version": "1.0.1", @@ -5330,33 +5251,33 @@ } }, "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true }, "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true }, "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true }, "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, "node_modules/@types/archiver": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-6.0.2.tgz", - "integrity": "sha512-KmROQqbQzKGuaAbmK+ZcytkJ51+YqDa7NmbXjmtC5YBLSyQYo21YaUnQ3HbaPFKL1ooo6RQ6OPYPIDyxfpDDXw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-6.0.3.tgz", + "integrity": "sha512-a6wUll6k3zX6qs5KlxIggs1P1JcYJaTCx2gnlr+f0S1yd2DoaEwoIK10HmBaLnZwWneBz+JBm0dwcZu0zECBcQ==", "dev": true, "dependencies": { "@types/readdir-glob": "*" @@ -5442,9 +5363,9 @@ } }, "node_modules/@types/diff": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.3.tgz", - "integrity": "sha512-amrLbRqTU9bXMCc6uX0sWpxsQzRIo9z6MJPkH1pkez/qOxuqSZVuryJAWoBRq94CeG8JxY+VK4Le9HtjQR5T9A==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.2.3.tgz", + "integrity": "sha512-K0Oqlrq3kQMaO2RhfrNQX5trmt+XLyom88zS0u84nnIcLvFnRUMRRHmrGny5GSM+kNO9IZLARsdQHDzkhAgmrQ==", "dev": true }, "node_modules/@types/docker-modem": { @@ -6257,41 +6178,38 @@ "dev": true }, "node_modules/@yao-pkg/pkg": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-5.12.0.tgz", - "integrity": "sha512-KZVpiDKRi2gtrVtKwhz/ZUKBOicVNggxaYQzPBjULuOLJ/UypTmAz5a2g+utLMn+WogbLE3vLfmC+TWp8v3+aQ==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-5.16.1.tgz", + "integrity": "sha512-crUlnNFSReFNFuXDc4f3X2ignkFlc9kmEG7Bp/mJMA1jYyqR0lqjZGLgrSDYTYiNsYud8AzgA3RY1DrMdcUZWg==", "dev": true, "dependencies": { - "@babel/generator": "7.23.0", - "@babel/parser": "7.23.0", - "@babel/types": "7.23.0", - "@yao-pkg/pkg-fetch": "3.5.9", - "chalk": "^4.1.2", - "fs-extra": "^9.1.0", - "globby": "^11.1.0", + "@babel/generator": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "@yao-pkg/pkg-fetch": "3.5.16", "into-stream": "^6.0.0", - "is-core-module": "2.9.0", - "minimatch": "9.0.4", "minimist": "^1.2.6", "multistream": "^4.1.0", - "prebuild-install": "7.1.1", + "picocolors": "^1.1.0", + "picomatch": "^4.0.2", + "prebuild-install": "^7.1.1", "resolve": "^1.22.0", - "stream-meter": "^1.0.4" + "stream-meter": "^1.0.4", + "tinyglobby": "^0.2.9" }, "bin": { "pkg": "lib-es5/bin.js" } }, "node_modules/@yao-pkg/pkg-fetch": { - "version": "3.5.9", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.9.tgz", - "integrity": "sha512-usMwwqFCd2B7k+V87u6kiTesyDSlw+3LpiuYBWe+UgryvSOk/NXjx3XVCub8hQoi0bCREbdQ6NDBqminyHJJrg==", + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.16.tgz", + "integrity": "sha512-mCnZvZz0/Ylpk4TGyt34pqWJyBGYJM8c3dPoMRV8Knodv2QhcYS4iXb5kB/JNWkrRtCKukGZIKkMLXZ3TQlzPg==", "dev": true, "dependencies": { - "chalk": "^4.1.2", - "fs-extra": "^9.1.0", "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.6", + "picocolors": "^1.1.0", "progress": "^2.0.3", "semver": "^7.3.5", "tar-fs": "^2.1.1", @@ -6301,82 +6219,16 @@ "pkg-fetch": "lib-es5/bin.js" } }, - "node_modules/@yao-pkg/pkg-fetch/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@yao-pkg/pkg/node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@yao-pkg/pkg/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@yao-pkg/pkg/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@yao-pkg/pkg/node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@yao-pkg/pkg/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "node_modules/@yao-pkg/pkg/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@yarnpkg/lockfile": { @@ -6441,10 +6293,13 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -6701,7 +6556,6 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -6786,7 +6640,6 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -7227,7 +7080,6 @@ "version": "8.1.3", "resolved": "https://registry.npmjs.org/balena-device-init/-/balena-device-init-8.1.3.tgz", "integrity": "sha512-aOwS4ALvPIHl0ylaWDueezR9dvS736M056PfZ0sSHpz3cQjBYQ0hUdeh4P3KL7aObdvebnefpnOhFYGBbqIx/w==", - "license": "Apache-2.0", "dependencies": { "balena-config-json": "^4.2.0", "balena-image-fs": "^7.3.0", @@ -7280,7 +7132,6 @@ "version": "7.3.0", "resolved": "https://registry.npmjs.org/balena-image-fs/-/balena-image-fs-7.3.0.tgz", "integrity": "sha512-EjdxwcrehXBMuKOYESx5sgXAJhWvPOPLV1UxnSmJ04G91zhzpYJMxUxgFEIMUNpXGcTw2uHMUL6ROnUA38W7hA==", - "license": "Apache-2.0", "dependencies": { "ext2fs": "^4.2.1", "fatfs": "^0.10.8", @@ -7296,7 +7147,6 @@ "version": "17.0.0", "resolved": "https://registry.npmjs.org/balena-preload/-/balena-preload-17.0.0.tgz", "integrity": "sha512-J0pduyqFFsPC70jgLdw7nANILW5nUGuShKayZauVuGs18NuYKlu7UT7w/b6QOMYtDK+YGjMWEf0uHTdiSzKZQQ==", - "license": "Apache-2.0", "dependencies": { "balena-sdk": "^20.1.3", "compare-versions": "^3.6.0", @@ -7386,7 +7236,6 @@ "version": "18.19.70", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.70.tgz", "integrity": "sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==", - "license": "MIT", "dependencies": { "undici-types": "~5.26.4" } @@ -8445,7 +8294,6 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -9316,7 +9164,6 @@ "version": "5.0.5", "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.5.tgz", "integrity": "sha512-Cxw8uEcvNTRmsQuGqzzfiCnfGgf96tVJItLh8taOX0miTcIBALKH5TckCSuZbpbjP7uhAl81dOL9sxfa6HgCIg==", - "license": "Apache-2.0", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", @@ -9365,7 +9212,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.3.tgz", "integrity": "sha512-QSXJFcBQNaGZO6U3qWW4B7p8yRIJn/dWmvL2AQWfO/bjptBBO6QYdVkYSYFz9qoivP2jsOHZfmXMAfrK0BMKyg==", - "license": "Apache-2.0", "dependencies": { "@balena/dockerignore": "^1.0.2", "@grpc/grpc-js": "^1.11.1", @@ -9398,7 +9244,6 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -10593,9 +10438,9 @@ } }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "license": "MIT", "dependencies": { "accepts": "~1.3.8", @@ -10617,7 +10462,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -10909,7 +10754,7 @@ "node_modules/file-js": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/file-js/-/file-js-0.3.0.tgz", - "integrity": "sha1-+rRr94I0bJKUSZ8fDSrQfYOPJdE=", + "integrity": "sha512-nZlX1pxpV6Mt8BghM3Z150bpsCT1zqil97UryusstZLSs9caYAe0Wph2UKPC3awfM2Dq4ri1Sv99KuK4EIImlA==", "dev": true, "dependencies": { "bluebird": "^3.4.7", @@ -10939,19 +10784,40 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "node_modules/filehound": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/filehound/-/filehound-1.17.5.tgz", - "integrity": "sha512-BsNTM3xoscYKgv0quE9RWPVhu5ZTb7BNu3H/IbZQbOfQeA7ZyOV/hIYfo60H3Jhorw/J5vbg59KHS1UCHt4FAw==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/filehound/-/filehound-1.17.6.tgz", + "integrity": "sha512-5q4zjFkI8W2zLmvbvyvI//K882IpEj6sMNXPUQlk5H6W4Wh3OSSylEAIEmMLELP9G7ileYjTKPXOn0YzzS55Lg==", "dev": true, "dependencies": { "bluebird": "^3.7.2", "file-js": "0.3.0", "lodash": "^4.17.21", - "minimatch": "^3.0.4", + "minimatch": "^5.0.0", "moment": "^2.29.1", "unit-compare": "^1.0.1" } }, + "node_modules/filehound/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filehound/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -11891,18 +11757,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -12852,7 +12706,6 @@ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, - "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -13391,15 +13244,14 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { @@ -13961,8 +13813,7 @@ "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "node_modules/lodash.get": { "version": "4.4.2", @@ -14071,8 +13922,7 @@ "node_modules/long": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", - "license": "Apache-2.0" + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/loose-envify": { "version": "1.4.0", @@ -16185,7 +16035,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -16250,9 +16099,9 @@ } }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "node_modules/path-type": { "version": "4.0.0", @@ -16302,9 +16151,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "node_modules/picomatch": { @@ -16423,9 +16272,9 @@ } }, "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -16577,7 +16426,7 @@ "node_modules/proper-lockfile": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-1.2.0.tgz", - "integrity": "sha1-zv9d2J0+XxD7deHo52vHWAGlnDQ=", + "integrity": "sha512-YNjxtCoY3A+lohlLXWCYrHDhUdfU3MMnuC+ADhloDvJo586LKW23dPrjxGvRGuus05Amcf0cQy6vrjjtbJhWpw==", "dev": true, "dependencies": { "err-code": "^1.0.0", @@ -16596,7 +16445,6 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", "hasInstallScript": true, - "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -19023,15 +18871,6 @@ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", @@ -19437,7 +19276,7 @@ "node_modules/unit-compare": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unit-compare/-/unit-compare-1.0.1.tgz", - "integrity": "sha1-DHRZ8OW/U2N+qHPKPO4Y3i7so4Y=", + "integrity": "sha512-AeLMQr8gcen2WOTwV0Gvi1nKKbY4Mms79MoltZ6hrZV/VANgE/YQly3jtWZJA/fa9m4ajhynq3XMqh5rOyZclA==", "dev": true, "dependencies": { "moment": "^2.14.1" @@ -19972,9 +19811,9 @@ } }, "node_modules/winusb-driver-generator": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/winusb-driver-generator/-/winusb-driver-generator-2.1.2.tgz", - "integrity": "sha512-x0bsG4OEtb4ppDqB1151qniwXxl3S5hPafxQsbfMZRcoYLB5mf6CdkwtYysEmI9+4XKTIv8XwQO13a1IC/wNxQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/winusb-driver-generator/-/winusb-driver-generator-2.1.5.tgz", + "integrity": "sha512-MaT8aaQvsxcQj/ZJcY3/OneEhMTdqE0NDEVtAOTg3qJqXvfucL2lmcSoWGlEPJmf7SbMvLCFjzo68Zn0XiMkQA==", "hasInstallScript": true, "optional": true, "os": [ @@ -20301,7 +20140,6 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", From 13c820f974333ff9543af133ac82ec64e309a501 Mon Sep 17 00:00:00 2001 From: Otavio Jacobi Date: Wed, 30 Oct 2024 14:48:29 -0300 Subject: [PATCH 2/6] Build standalone without pkg Change-type: major --- .github/actions/publish/action.yml | 4 +- .mocharc.js | 2 +- INSTALL-LINUX.md | 14 +- automation/build-bin.ts | 331 ++----- automation/run.ts | 6 +- automation/utils.ts | 63 -- npm-shrinkwrap.json | 846 +----------------- package.json | 26 - patches/all/open+7.4.2.patch | 16 - patches/unix/node-gyp-build+4.6.0.patch | 14 - patches/win32/windosu+0.3.0.patch | 38 - src/app.ts | 8 +- src/utils/bootstrap.ts | 37 - tests/helpers.ts | 92 +- .../pkg/expected-warnings-darwin-arm64.txt | 382 -------- .../pkg/expected-warnings-darwin-x64.txt | 382 -------- .../pkg/expected-warnings-linux-arm64.txt | 382 -------- .../pkg/expected-warnings-linux-x64.txt | 382 -------- .../pkg/expected-warnings-win32-x64.txt | 382 -------- 19 files changed, 180 insertions(+), 3227 deletions(-) delete mode 100644 patches/all/open+7.4.2.patch delete mode 100644 patches/unix/node-gyp-build+4.6.0.patch delete mode 100644 patches/win32/windosu+0.3.0.patch delete mode 100644 tests/test-data/pkg/expected-warnings-darwin-arm64.txt delete mode 100644 tests/test-data/pkg/expected-warnings-darwin-x64.txt delete mode 100644 tests/test-data/pkg/expected-warnings-linux-arm64.txt delete mode 100644 tests/test-data/pkg/expected-warnings-linux-x64.txt delete mode 100644 tests/test-data/pkg/expected-warnings-win32-x64.txt diff --git a/.github/actions/publish/action.yml b/.github/actions/publish/action.yml index 31fa9e9ac..d33bfd3f5 100644 --- a/.github/actions/publish/action.yml +++ b/.github/actions/publish/action.yml @@ -138,6 +138,8 @@ runs: uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4 with: name: gh-release-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ strategy.job-index }} - path: dist + path: | + dist + !dist/balena retention-days: 1 if-no-files-found: error diff --git a/.mocharc.js b/.mocharc.js index b81811369..86b4b4651 100644 --- a/.mocharc.js +++ b/.mocharc.js @@ -2,7 +2,7 @@ module.exports = { reporter: 'spec', require: 'ts-node/register/transpile-only', file: './tests/config-tests', - timeout: 12000, + timeout: 48000, // To test only, say, 'push.spec.ts', do it as follows so that // requests are authenticated: // spec: ['tests/auth/*.spec.ts', 'tests/**/deploy.spec.ts'], diff --git a/INSTALL-LINUX.md b/INSTALL-LINUX.md index 10b9dc518..1122be9a6 100644 --- a/INSTALL-LINUX.md +++ b/INSTALL-LINUX.md @@ -8,15 +8,15 @@ method. Selected operating system: **Linux** -1. Download the latest zip file from the [latest release +1. Download the latest tar.gz file from the [latest release page](https://github.com/balena-io/balena-cli/releases/latest). Look for a file name that ends - with "-standalone.zip", for example: - `balena-cli-vX.Y.Z-linux-x64-standalone.zip` + with "-standalone.tar.gz", for example: + `balena-cli-vX.Y.Z-linux-x64-standalone.tar.gz` -2. Extract the zip file contents to any folder you choose, for example `/home/james`. - The extracted contents will include a `balena-cli` folder. +2. Extract the tar.gz file contents to any folder you choose, for example `/home/james`. + The extracted contents will include a `balena/bin` folder. -3. Add that folder (e.g. `/home/james/balena-cli`) to the `PATH` environment variable. +3. Add that folder (e.g. `/home/james/balena/bin`) to the `PATH` environment variable. Check this [StackOverflow post](https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix) for instructions. Close and reopen the terminal window so that the changes to `PATH` @@ -27,7 +27,7 @@ Selected operating system: **Linux** * `balena version` - should print the CLI's version * `balena help` - should print a list of available commands -To update the balena CLI to a new version, download a new release zip file and replace the previous +To update the balena CLI to a new version, download a new release tar.gz file and replace the previous installation folder. To uninstall, simply delete the folder and edit the PATH environment variable as described above. diff --git a/automation/build-bin.ts b/automation/build-bin.ts index 6a3d7a3c0..b4a06bdec 100644 --- a/automation/build-bin.ts +++ b/automation/build-bin.ts @@ -15,29 +15,17 @@ * limitations under the License. */ -import type { JsonVersions } from '../src/commands/version/index'; - import { run as oclifRun } from '@oclif/core'; -import * as archiver from 'archiver'; import { exec, execFile } from 'child_process'; -import * as filehound from 'filehound'; import type { Stats } from 'fs'; import * as fs from 'fs-extra'; import * as klaw from 'klaw'; import * as path from 'path'; import * as rimraf from 'rimraf'; -import * as semver from 'semver'; import { promisify } from 'util'; import { notarize } from '@electron/notarize'; -import { stripIndent } from '../build/utils/lazy'; -import { - diffLines, - loadPackageJson, - ROOT, - StdOutTap, - whichSpawn, -} from './utils'; +import { loadPackageJson, ROOT, whichSpawn } from './utils'; const execFileAsync = promisify(execFile); const execAsync = promisify(exec); @@ -55,12 +43,6 @@ interface PathByPlatform { [platform: string]: string; } -const standaloneZips: PathByPlatform = { - linux: dPath(`balena-cli-${version}-linux-${arch}-standalone.zip`), - darwin: dPath(`balena-cli-${version}-macOS-${arch}-standalone.zip`), - win32: dPath(`balena-cli-${version}-windows-${arch}-standalone.zip`), -}; - const getOclifInstallersOriginalNames = async (): Promise => { const { stdout } = await execAsync('git rev-parse --short HEAD'); const sha = stdout.trim(); @@ -75,260 +57,26 @@ const renamedOclifInstallers: PathByPlatform = { win32: dPath(`balena-cli-${version}-windows-${arch}-installer.exe`), }; -export const finalReleaseAssets: { [platform: string]: string[] } = { - win32: [standaloneZips['win32'], renamedOclifInstallers['win32']], - darwin: [standaloneZips['darwin'], renamedOclifInstallers['darwin']], - linux: [standaloneZips['linux']], -}; - -/** - * Given the output of `pkg` as a string (containing warning messages), - * diff it against previously saved output of known "safe" warnings. - * Throw an error if the diff is not empty. - */ -async function diffPkgOutput(pkgOut: string) { - const { monochrome } = await import('../tests/helpers'); - const relSavedPath = path.join( - 'tests', - 'test-data', - 'pkg', - `expected-warnings-${process.platform}-${arch}.txt`, - ); - const absSavedPath = path.join(ROOT, relSavedPath); - const ignoreStartsWith = [ - '> pkg@', - '> Fetching base Node.js binaries', - ' fetched-', - 'prebuild-install WARN install No prebuilt binaries found', - ]; - const modulesRE = - process.platform === 'win32' - ? /(?<=[ '])([A-Z]:)?\\.+?\\node_modules(?=\\)/ - : /(?<=[ '])\/.+?\/node_modules(?=\/)/; - const buildRE = - process.platform === 'win32' - ? /(?<=[ '])([A-Z]:)?\\.+\\build(?=\\)/ - : /(?<=[ '])\/.+\/build(?=\/)/; - - const cleanLines = (chunks: string | string[]) => { - const lines = typeof chunks === 'string' ? chunks.split('\n') : chunks; - return lines - .map((line: string) => monochrome(line)) // remove ASCII colors - .filter((line: string) => !/^\s*$/.test(line)) // blank lines - .filter((line: string) => - ignoreStartsWith.every((i) => !line.startsWith(i)), - ) - .map((line: string) => { - // replace absolute paths with relative paths - let replaced = line.replace(modulesRE, 'node_modules'); - if (replaced === line) { - replaced = line.replace(buildRE, 'build'); - } - return replaced; - }); +const getOclifStandaloneOriginalNames = async (): Promise => { + const { stdout } = await execAsync('git rev-parse --short HEAD'); + const sha = stdout.trim(); + return { + linux: dPath(`balena-${version}-${sha}-linux-${arch}.tar.gz`), + darwin: dPath(`balena-${version}-${sha}-darwin-${arch}.tar.gz`), + win32: dPath(`balena-${version}-${sha}-win32-${arch}.tar.gz`), }; +}; - pkgOut = cleanLines(pkgOut).join('\n'); - const { readFile } = (await import('fs')).promises; - const expectedOut = cleanLines(await readFile(absSavedPath, 'utf8')).join( - '\n', - ); - if (expectedOut !== pkgOut) { - const sep = - '================================================================================'; - const diff = diffLines(expectedOut, pkgOut); - const msg = `pkg output does not match expected output from "${relSavedPath}" -Diff: -${sep} -${diff} -${sep} -Check whether the new or changed pkg warnings are safe to ignore, then update -"${relSavedPath}" -and share the result of your investigation as comments on the pull request. -Hint: the fix is often a matter of updating the 'pkg.scripts' or 'pkg.assets' -sections in the CLI's 'package.json' file, or a matter of updating the -'buildPkg' function in 'automation/build-bin.ts'. Sometimes it requires -patching dependencies: See for example 'patches/all/open+7.0.2.patch'. -${sep} -`; - throw new Error(msg); - } -} - -/** - * Call `pkg.exec` to generate the standalone zip file, capturing its warning - * messages (stdout and stderr) in order to call diffPkgOutput(). - */ -async function execPkg(...args: any[]) { - const { exec: pkgExec } = await import('@yao-pkg/pkg'); - const outTap = new StdOutTap(true); - try { - outTap.tap(); - await (pkgExec as any)(...args); - } catch (err) { - outTap.untap(); - console.log(outTap.stdoutBuf.join('')); - console.error(outTap.stderrBuf.join('')); - throw err; - } - outTap.untap(); - await diffPkgOutput(outTap.allBuf.join('')); -} - -/** - * Use the 'pkg' module to create a single large executable file with - * the contents of 'node_modules' and the CLI's javascript code. - * Also copy a number of native modules (binary '.node' files) that are - * compiled during 'npm install' to the 'build-bin' folder, alongside - * the single large executable file created by pkg. (This is necessary - * because of a pkg limitation that does not allow binary executables - * to be directly executed from inside another binary executable.) - */ -async function buildPkg() { - // https://github.com/vercel/pkg#targets - let targets = `linux-${arch}`; - if (process.platform === 'darwin') { - targets = `macos-${arch}`; - } - // TBC: not yet possible to build for Windows arm64 on x64 nodes - if (process.platform === 'win32') { - targets = `win-x64`; - } - const args = [ - '--targets', - targets, - '--output', - 'build-bin/balena', - 'package.json', - ]; - console.log('======================================================='); - console.log(`execPkg ${args.join(' ')}`); - console.log(`cwd="${process.cwd()}" ROOT="${ROOT}"`); - console.log('======================================================='); - - await execPkg(args); - - const paths: Array<[string, string[], string[]]> = [ - // [platform, [source path], [destination path]] - ['*', ['open', 'xdg-open'], ['xdg-open']], - ['darwin', ['denymount', 'bin', 'denymount'], ['denymount']], - ]; - await Promise.all( - paths.map(([platform, source, dest]) => { - if (platform === '*' || platform === process.platform) { - // eg copy from node_modules/open/xdg-open to build-bin/xdg-open - return fs.copy( - path.join(ROOT, 'node_modules', ...source), - path.join(ROOT, 'build-bin', ...dest), - ); - } - }), - ); - const nativeExtensionPaths: string[] = await filehound - .create() - .paths(path.join(ROOT, 'node_modules')) - .ext(['node', 'dll']) - .find(); - - console.log(`\nCopying to build-bin:\n${nativeExtensionPaths.join('\n')}`); - - await Promise.all( - nativeExtensionPaths.map((extPath) => - fs.copy( - extPath, - extPath.replace( - path.join(ROOT, 'node_modules'), - path.join(ROOT, 'build-bin'), - ), - ), - ), - ); -} - -/** - * Run some basic tests on the built pkg executable. - * TODO: test more than just `balena version -j`; integrate with the - * existing mocha/chai CLI command testing. - */ -async function testPkg() { - const pkgBalenaPath = path.join( - ROOT, - 'build-bin', - process.platform === 'win32' ? 'balena.exe' : 'balena', - ); - console.log(`Testing standalone package "${pkgBalenaPath}"...`); - // Run `balena version -j`, parse its stdout as JSON, and check that the - // reported Node.js major version matches semver.major(process.version) - let { stdout, stderr } = await execFileAsync(pkgBalenaPath, [ - 'version', - '-j', - ]); - const { filterCliOutputForTests } = await import('../tests/helpers'); - const filtered = filterCliOutputForTests({ - err: stderr.split(/\r?\n/), - out: stdout.split(/\r?\n/), - }); - stdout = filtered.out.join('\n'); - stderr = filtered.err.join('\n'); - let pkgNodeVersion = ''; - let pkgNodeMajorVersion = 0; - try { - const balenaVersions: JsonVersions = JSON.parse(stdout); - pkgNodeVersion = balenaVersions['Node.js']; - pkgNodeMajorVersion = semver.major(pkgNodeVersion); - } catch (err) { - throw new Error(stripIndent` - Error parsing JSON output of "balena version -j": ${err} - Original output: "${stdout}"`); - } - if (semver.major(process.version) !== pkgNodeMajorVersion) { - throw new Error( - `Mismatched major version: built-in pkg Node version="${pkgNodeVersion}" vs process.version="${process.version}"`, - ); - } - if (filtered.err.length > 0) { - const err = filtered.err.join('\n'); - throw new Error(`"${pkgBalenaPath}": non-empty stderr "${err}"`); - } - console.log('Success! (standalone package test successful)'); -} - -/** - * Create the zip file for the standalone 'pkg' bundle previously created - * by the buildPkg() function in 'build-bin.ts'. - */ -async function zipPkg() { - const outputFile = standaloneZips[process.platform]; - if (!outputFile) { - throw new Error( - `Standalone installer unavailable for platform "${process.platform}"`, - ); - } - await fs.mkdirp(path.dirname(outputFile)); - await new Promise((resolve, reject) => { - console.log(`Zipping standalone package to "${outputFile}"...`); - - const archive = archiver('zip', { - zlib: { level: 7 }, - }); - archive.directory(path.join(ROOT, 'build-bin'), 'balena-cli'); - - const outputStream = fs.createWriteStream(outputFile); - - outputStream.on('close', resolve); - outputStream.on('error', reject); - - archive.on('error', reject); - archive.on('warning', console.warn); - - archive.pipe(outputStream); - archive.finalize().catch(reject); - }); -} +const renamedOclifStandalone: PathByPlatform = { + linux: dPath(`balena-cli-${version}-linux-${arch}-standalone.tar.gz`), + darwin: dPath(`balena-cli-${version}-macOS-${arch}-standalone.tar.gz`), + win32: dPath(`balena-cli-${version}-windows-${arch}-standalone.tar.gz`), +}; export async function signFilesForNotarization() { console.log('Signing files for notarization'); - if (process.platform !== 'darwin') { + if (process.platform !== 'darwin' || !process.env.CSC_LINK) { + console.log('Skipping signing for notarization'); return; } console.log('Deleting unneeded zip files...'); @@ -416,20 +164,39 @@ export async function signFilesForNotarization() { ]); } -export async function buildStandaloneZip() { - console.log(`Building standalone zip package for CLI ${version}`); +export async function buildStandalone() { + console.log(`Building standalone tarball for CLI ${version}`); + fs.rmSync('./tmp', { recursive: true, force: true }); + fs.rmSync('./dist', { recursive: true, force: true }); + fs.mkdirSync('./dist'); try { - await buildPkg(); - await testPkg(); - await zipPkg(); - console.log(`Standalone zip package build completed`); + let packOpts = ['-r', ROOT, '--no-xz']; + if (process.platform === 'darwin') { + packOpts = packOpts.concat('--targets', `darwin-${arch}`); + } else if (process.platform === 'win32') { + packOpts = packOpts.concat('--targets', 'win32-x64'); + } else if (process.platform === 'linux') { + packOpts = packOpts.concat('--targets', `linux-${arch}`); + } + + console.log(`Building oclif installer for CLI ${version}`); + const packCmd = `pack:tarballs`; + console.log('======================================================='); + console.log(`oclif ${packCmd} ${packOpts.join(' ')}`); + console.log(`cwd="${process.cwd()}" ROOT="${ROOT}"`); + console.log('======================================================='); + const oclifPath = path.join(ROOT, 'node_modules', 'oclif'); + await oclifRun([packCmd].concat(...packOpts), oclifPath); + await renameStandalone(); + + console.log(`Standalone tarball package build completed`); } catch (error) { - console.error(`Error creating or testing standalone zip package`); + console.error(`Error creating or testing standalone tarball package`); throw error; } } -async function renameInstallerFiles() { +async function renameInstallers() { const oclifInstallers = await getOclifInstallersOriginalNames(); if (await fs.pathExists(oclifInstallers[process.platform])) { await fs.rename( @@ -439,6 +206,16 @@ async function renameInstallerFiles() { } } +async function renameStandalone() { + const oclifStandalone = await getOclifStandaloneOriginalNames(); + if (await fs.pathExists(oclifStandalone[process.platform])) { + await fs.rename( + oclifStandalone[process.platform], + renamedOclifStandalone[process.platform], + ); + } +} + /** * If the CSC_LINK and CSC_KEY_PASSWORD env vars are set, digitally sign the * executable installer using Microsoft SignTool.exe (Sign Tool) @@ -525,7 +302,7 @@ export async function buildOclifInstaller() { console.log('======================================================='); const oclifPath = path.join(ROOT, 'node_modules', 'oclif'); await oclifRun([packCmd].concat(...packOpts), oclifPath); - await renameInstallerFiles(); + await renameInstallers(); // The Windows installer is explicitly signed here (oclif doesn't do it). // The macOS installer is automatically signed by oclif (which runs the // `pkgbuild` tool), using the certificate name given in package.json diff --git a/automation/run.ts b/automation/run.ts index b0986f435..9e5af74c2 100644 --- a/automation/run.ts +++ b/automation/run.ts @@ -19,7 +19,7 @@ import * as _ from 'lodash'; import { buildOclifInstaller, - buildStandaloneZip, + buildStandalone, catchUncommitted, signFilesForNotarization, testShrinkwrap, @@ -36,7 +36,7 @@ process.env.DEBUG = ['0', 'no', 'false', '', undefined].includes( * Trivial command-line parser. Check whether the command-line argument is one * of the following strings, then call the appropriate functions: * 'build:installer' (to build a native oclif installer) - * 'build:standalone' (to build a standalone pkg package) + * 'build:standalone' (to build a standalone package) * * @param args Arguments to parse (default is process.argv.slice(2)) */ @@ -49,7 +49,7 @@ async function parse(args?: string[]) { } const commands: { [cmd: string]: () => void | Promise } = { 'build:installer': buildOclifInstaller, - 'build:standalone': buildStandaloneZip, + 'build:standalone': buildStandalone, 'sign:binaries': signFilesForNotarization, 'catch-uncommitted': catchUncommitted, 'test-shrinkwrap': testShrinkwrap, diff --git a/automation/utils.ts b/automation/utils.ts index c4c8cb431..a5dcd2b79 100644 --- a/automation/utils.ts +++ b/automation/utils.ts @@ -18,73 +18,10 @@ import { spawn } from 'child_process'; import * as path from 'path'; import * as fs from 'fs'; -import { diffTrimmedLines } from 'diff'; import * as whichMod from 'which'; export const ROOT = path.join(__dirname, '..'); -/** Tap and buffer this process' stdout and stderr */ -export class StdOutTap { - public stdoutBuf: string[] = []; - public stderrBuf: string[] = []; - public allBuf: string[] = []; // both stdout and stderr - - protected origStdoutWrite: typeof process.stdout.write; - protected origStderrWrite: typeof process.stdout.write; - - constructor(protected printDots = false) {} - - tap() { - this.origStdoutWrite = process.stdout.write; - this.origStderrWrite = process.stderr.write; - - process.stdout.write = (chunk: string, ...args: any[]): boolean => { - this.stdoutBuf.push(chunk); - this.allBuf.push(chunk); - const str = this.printDots ? '.' : chunk; - return this.origStdoutWrite.call(process.stdout, str, ...args); - }; - - process.stderr.write = (chunk: string, ...args: any[]): boolean => { - this.stderrBuf.push(chunk); - this.allBuf.push(chunk); - const str = this.printDots ? '.' : chunk; - return this.origStderrWrite.call(process.stderr, str, ...args); - }; - } - - untap() { - process.stdout.write = this.origStdoutWrite; - process.stderr.write = this.origStderrWrite; - if (this.printDots) { - console.error(''); - } - } -} - -/** - * Diff strings by line, using the 'diff' npm package: - * https://www.npmjs.com/package/diff - */ -export function diffLines(str1: string, str2: string): string { - const diffObjs = diffTrimmedLines(str1, str2); - const prefix = (chunk: string, char: string) => - chunk - .split('\n') - .map((line: string) => `${char} ${line}`) - .join('\n'); - const diffStr = diffObjs - .map((part: any) => { - return part.added - ? prefix(part.value, '+') - : part.removed - ? prefix(part.value, '-') - : prefix(part.value, ' '); - }) - .join('\n'); - return diffStr; -} - export function loadPackageJson() { const packageJsonPath = path.join(ROOT, 'package.json'); diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 1b8e1d5fd..9834d0c18 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -92,14 +92,12 @@ "devDependencies": { "@balena/lint": "^9.1.3", "@electron/notarize": "^2.0.0", - "@types/archiver": "^6.0.2", "@types/bluebird": "^3.5.36", "@types/body-parser": "^1.19.2", "@types/chai": "^4.3.0", "@types/chai-as-promised": "^7.1.4", "@types/cli-truncate": "^2.0.0", "@types/common-tags": "^1.8.1", - "@types/diff": "^5.0.3", "@types/dockerode": "3.3.23", "@types/ejs": "^3.1.0", "@types/express": "^4.17.13", @@ -138,16 +136,12 @@ "@types/update-notifier": "^4.1.1", "@types/which": "^2.0.1", "@types/window-size": "^1.1.1", - "@yao-pkg/pkg": "^5.11.1", - "archiver": "^7.0.1", "catch-uncommitted": "^2.0.0", "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "cross-env": "^7.0.3", "deep-object-diff": "^1.1.0", - "diff": "^5.0.0", "ent": "^2.2.0", - "filehound": "^1.17.5", "fs-extra": "^11.2.0", "http-proxy": "^1.18.1", "husky": "^9.1.5", @@ -5274,15 +5268,6 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, - "node_modules/@types/archiver": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-6.0.3.tgz", - "integrity": "sha512-a6wUll6k3zX6qs5KlxIggs1P1JcYJaTCx2gnlr+f0S1yd2DoaEwoIK10HmBaLnZwWneBz+JBm0dwcZu0zECBcQ==", - "dev": true, - "dependencies": { - "@types/readdir-glob": "*" - } - }, "node_modules/@types/bluebird": { "version": "3.5.36", "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz", @@ -5362,12 +5347,6 @@ "@types/node": "*" } }, - "node_modules/@types/diff": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.2.3.tgz", - "integrity": "sha512-K0Oqlrq3kQMaO2RhfrNQX5trmt+XLyom88zS0u84nnIcLvFnRUMRRHmrGny5GSM+kNO9IZLARsdQHDzkhAgmrQ==", - "dev": true - }, "node_modules/@types/docker-modem": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.2.tgz", @@ -5664,15 +5643,6 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "node_modules/@types/readdir-glob": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.5.tgz", - "integrity": "sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/request": { "version": "2.48.12", "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.12.tgz", @@ -6177,60 +6147,6 @@ "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", "dev": true }, - "node_modules/@yao-pkg/pkg": { - "version": "5.16.1", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-5.16.1.tgz", - "integrity": "sha512-crUlnNFSReFNFuXDc4f3X2ignkFlc9kmEG7Bp/mJMA1jYyqR0lqjZGLgrSDYTYiNsYud8AzgA3RY1DrMdcUZWg==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "@yao-pkg/pkg-fetch": "3.5.16", - "into-stream": "^6.0.0", - "minimist": "^1.2.6", - "multistream": "^4.1.0", - "picocolors": "^1.1.0", - "picomatch": "^4.0.2", - "prebuild-install": "^7.1.1", - "resolve": "^1.22.0", - "stream-meter": "^1.0.4", - "tinyglobby": "^0.2.9" - }, - "bin": { - "pkg": "lib-es5/bin.js" - } - }, - "node_modules/@yao-pkg/pkg-fetch": { - "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.16.tgz", - "integrity": "sha512-mCnZvZz0/Ylpk4TGyt34pqWJyBGYJM8c3dPoMRV8Knodv2QhcYS4iXb5kB/JNWkrRtCKukGZIKkMLXZ3TQlzPg==", - "dev": true, - "dependencies": { - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.6", - "picocolors": "^1.1.0", - "progress": "^2.0.3", - "semver": "^7.3.5", - "tar-fs": "^2.1.1", - "yargs": "^16.2.0" - }, - "bin": { - "pkg-fetch": "lib-es5/bin.js" - } - }, - "node_modules/@yao-pkg/pkg/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", @@ -6242,18 +6158,6 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "optional": true }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, "node_modules/abortcontroller-polyfill": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", @@ -6435,262 +6339,6 @@ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, - "node_modules/archiver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", - "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", - "dev": true, - "dependencies": { - "archiver-utils": "^5.0.2", - "async": "^3.2.4", - "buffer-crc32": "^1.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/archiver-utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", - "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", - "dev": true, - "dependencies": { - "glob": "^10.0.0", - "graceful-fs": "^4.2.0", - "is-stream": "^2.0.1", - "lazystream": "^1.0.0", - "lodash": "^4.17.15", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/archiver-utils/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/archiver-utils/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/archiver-utils/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/archiver-utils/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/archiver/node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true - }, - "node_modules/archiver/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/archiver/node_modules/buffer-crc32": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", - "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/archiver/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/archiver/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/archiver/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/archiver/node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", - "dev": true, - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, "node_modules/are-docs-informative": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", @@ -8195,145 +7843,35 @@ }, "node_modules/commander": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/comment-parser": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", - "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", - "dev": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" - }, - "node_modules/compress-commons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", - "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", - "dev": true, - "dependencies": { - "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/compress-commons/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/compress-commons/node_modules/crc32-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", - "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", - "dev": true, - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/compress-commons/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/compress-commons/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/compress-commons/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } }, - "node_modules/compress-commons/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/comment-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" } }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -9515,12 +9053,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==", - "dev": true - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -10360,30 +9892,12 @@ "through": "^2.3.8" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/eventemitter3": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -10751,17 +10265,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-js": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/file-js/-/file-js-0.3.0.tgz", - "integrity": "sha512-nZlX1pxpV6Mt8BghM3Z150bpsCT1zqil97UryusstZLSs9caYAe0Wph2UKPC3awfM2Dq4ri1Sv99KuK4EIImlA==", - "dev": true, - "dependencies": { - "bluebird": "^3.4.7", - "minimatch": "^3.0.3", - "proper-lockfile": "^1.2.0" - } - }, "node_modules/file-type": { "version": "16.5.4", "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", @@ -10783,41 +10286,6 @@ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, - "node_modules/filehound": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/filehound/-/filehound-1.17.6.tgz", - "integrity": "sha512-5q4zjFkI8W2zLmvbvyvI//K882IpEj6sMNXPUQlk5H6W4Wh3OSSylEAIEmMLELP9G7ileYjTKPXOn0YzzS55Lg==", - "dev": true, - "dependencies": { - "bluebird": "^3.7.2", - "file-js": "0.3.0", - "lodash": "^4.17.21", - "minimatch": "^5.0.0", - "moment": "^2.29.1", - "unit-compare": "^1.0.1" - } - }, - "node_modules/filehound/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filehound/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -11156,16 +10624,6 @@ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -12542,22 +12000,6 @@ "node": ">= 0.4" } }, - "node_modules/into-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz", - "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==", - "dev": true, - "dependencies": { - "from2": "^2.3.0", - "p-is-promise": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/io-ts": { "version": "2.2.20", "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-2.2.20.tgz", @@ -13495,18 +12937,6 @@ "node": ">=8" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -14489,15 +13919,6 @@ "node": ">=0.10.0" } }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/mountutils": { "version": "1.3.21", "resolved": "https://registry.npmjs.org/mountutils/-/mountutils-1.3.21.tgz", @@ -14674,44 +14095,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/multistream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/multistream/-/multistream-4.1.0.tgz", - "integrity": "sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "once": "^1.4.0", - "readable-stream": "^3.6.0" - } - }, - "node_modules/multistream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/mute-stream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", @@ -15541,15 +14924,6 @@ "node": ">=4" } }, - "node_modules/p-is-promise": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", - "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -16363,29 +15737,11 @@ "node": ">=0.8" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, "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/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/progress-bar-formatter": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/progress-bar-formatter/-/progress-bar-formatter-2.0.1.tgz", @@ -16423,18 +15779,6 @@ "node": ">= 8" } }, - "node_modules/proper-lockfile": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-1.2.0.tgz", - "integrity": "sha512-YNjxtCoY3A+lohlLXWCYrHDhUdfU3MMnuC+ADhloDvJo586LKW23dPrjxGvRGuus05Amcf0cQy6vrjjtbJhWpw==", - "dev": true, - "dependencies": { - "err-code": "^1.0.0", - "extend": "^3.0.0", - "graceful-fs": "^4.1.2", - "retry": "^0.10.0" - } - }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", @@ -16697,36 +16041,6 @@ "node": ">= 6" } }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "dev": true, - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -17264,15 +16578,6 @@ "node": ">=0.10.0" } }, - "node_modules/retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -18168,15 +17473,6 @@ "through": "~2.3.4" } }, - "node_modules/stream-meter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz", - "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==", - "dev": true, - "dependencies": { - "readable-stream": "^2.1.4" - } - }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", @@ -19273,15 +18569,6 @@ "node": ">=8" } }, - "node_modules/unit-compare": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unit-compare/-/unit-compare-1.0.1.tgz", - "integrity": "sha512-AeLMQr8gcen2WOTwV0Gvi1nKKbY4Mms79MoltZ6hrZV/VANgE/YQly3jtWZJA/fa9m4ajhynq3XMqh5rOyZclA==", - "dev": true, - "dependencies": { - "moment": "^2.14.1" - } - }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -20096,89 +19383,6 @@ "engines": { "node": ">=16" } - }, - "node_modules/zip-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", - "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", - "dev": true, - "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/zip-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/zip-stream/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/zip-stream/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/zip-stream/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } } } } diff --git a/package.json b/package.json index c1d466e68..7739f75eb 100644 --- a/package.json +++ b/package.json @@ -24,26 +24,6 @@ "bin": { "balena": "./bin/run.js" }, - "pkg": { - "scripts": [ - "build/**/*.js", - "node_modules/balena-sdk/es2018/index.js", - "node_modules/pinejs-client-request/node_modules/pinejs-client-core/es2018/index.js", - "node_modules/@balena/compose/dist/parse/schemas/*.json" - ], - "assets": [ - "build/auth/pages/*.ejs", - "node_modules/balena-sdk/node_modules/balena-pine/**/*", - "node_modules/balena-pine/**/*", - "node_modules/pinejs-client-core/**/*", - "node_modules/open/xdg-open", - "node_modules/windosu/*.bat", - "node_modules/windosu/*.cmd", - "node_modules/axios/**/*", - "npm-shrinkwrap.json", - "oclif.manifest.json" - ] - }, "scripts": { "postinstall": "node patches/apply-patches.js", "prebuild": "rimraf build/ build-bin/", @@ -113,14 +93,12 @@ "devDependencies": { "@balena/lint": "^9.1.3", "@electron/notarize": "^2.0.0", - "@types/archiver": "^6.0.2", "@types/bluebird": "^3.5.36", "@types/body-parser": "^1.19.2", "@types/chai": "^4.3.0", "@types/chai-as-promised": "^7.1.4", "@types/cli-truncate": "^2.0.0", "@types/common-tags": "^1.8.1", - "@types/diff": "^5.0.3", "@types/dockerode": "3.3.23", "@types/ejs": "^3.1.0", "@types/express": "^4.17.13", @@ -159,16 +137,12 @@ "@types/update-notifier": "^4.1.1", "@types/which": "^2.0.1", "@types/window-size": "^1.1.1", - "@yao-pkg/pkg": "^5.11.1", - "archiver": "^7.0.1", "catch-uncommitted": "^2.0.0", "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "cross-env": "^7.0.3", "deep-object-diff": "^1.1.0", - "diff": "^5.0.0", "ent": "^2.2.0", - "filehound": "^1.17.5", "fs-extra": "^11.2.0", "http-proxy": "^1.18.1", "husky": "^9.1.5", diff --git a/patches/all/open+7.4.2.patch b/patches/all/open+7.4.2.patch deleted file mode 100644 index 02ce03fc6..000000000 --- a/patches/all/open+7.4.2.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/node_modules/open/index.js b/node_modules/open/index.js -index 13147d0..ff161dd 100644 ---- a/node_modules/open/index.js -+++ b/node_modules/open/index.js -@@ -10,7 +10,10 @@ const pAccess = promisify(fs.access); - const pReadFile = promisify(fs.readFile); - - // Path to included `xdg-open`. --const localXdgOpenPath = path.join(__dirname, 'xdg-open'); -+const localXdgOpenPath = process.pkg -+ ? path.join(path.dirname(process.execPath), 'xdg-open') -+ : path.join(__dirname, 'xdg-open'); -+ - - /** - Get the mount point for fixed drives in WSL. diff --git a/patches/unix/node-gyp-build+4.6.0.patch b/patches/unix/node-gyp-build+4.6.0.patch deleted file mode 100644 index 4bdcd9749..000000000 --- a/patches/unix/node-gyp-build+4.6.0.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/node_modules/node-gyp-build/node-gyp-build.js b/node_modules/node-gyp-build/node-gyp-build.js -index 61b398e..3cc3be8 100644 ---- a/node_modules/node-gyp-build/node-gyp-build.js -+++ b/node_modules/node-gyp-build/node-gyp-build.js -@@ -30,6 +30,9 @@ load.resolve = load.path = function (dir) { - if (process.env[name + '_PREBUILD']) dir = process.env[name + '_PREBUILD'] - } catch (err) {} - -+ // pkg fix: native node modules are located externally to the pkg executable -+ dir = dir.replace(/^\/snapshot\/.+?\/node_modules\//, path.dirname(process.execPath) + path.sep) -+ - if (!prebuildsOnly) { - var release = getFirst(path.join(dir, 'build/Release'), matchBuild) - if (release) return release diff --git a/patches/win32/windosu+0.3.0.patch b/patches/win32/windosu+0.3.0.patch deleted file mode 100644 index d55d5ab79..000000000 --- a/patches/win32/windosu+0.3.0.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/node_modules/windosu/lib/pipe.js b/node_modules/windosu/lib/pipe.js -index dc81fa5..a381cc7 100644 ---- a/node_modules/windosu/lib/pipe.js -+++ b/node_modules/windosu/lib/pipe.js -@@ -42,7 +42,8 @@ function pipe(path, options) { - return d.promise; - } - module.exports = pipe; --if (module === require.main) { -+ -+function main() { - if (!process.argv[4]) { - console.error('Incorrect arguments!'); - process.exit(-1); -@@ -52,3 +53,8 @@ if (module === require.main) { - serve: process.argv[3] == 'server' - }); - } -+module.exports.main = main; -+ -+if (module === require.main) { -+ main(); -+} -diff --git a/node_modules/windosu/lib/windosu.js b/node_modules/windosu/lib/windosu.js -index 6502812..dd0391a 100644 ---- a/node_modules/windosu/lib/windosu.js -+++ b/node_modules/windosu/lib/windosu.js -@@ -16,7 +16,9 @@ module.exports.exec = function (command, options, callback) { - temp: temp, - command: command, - cliWidth: cliWidth(), -- pipe: '"' + process.execPath + '" "' + path.join(__dirname, 'pipe.js') + '"', -+ pipe: process.pkg -+ ? '"' + process.execPath + '" pkgExec "' + path.join(__dirname, 'pipe.js') + '::main"' -+ : '"' + process.execPath + '" "' + path.join(__dirname, 'pipe.js') + '"', - input: inputName = id + '-in', - output: outputName = id + '-out', - stderr_redir: process.stdout.isTTY ? '2>&1' : '2> %ERROR%' diff --git a/src/app.ts b/src/app.ts index 13b3e5b5a..f2ec22822 100644 --- a/src/app.ts +++ b/src/app.ts @@ -159,18 +159,12 @@ async function oclifRun(command: string[], options: AppOptions) { /** CLI entrypoint. Called by the `bin/run.js` and `bin/dev.js` scripts. */ export async function run(cliArgs = process.argv, options: AppOptions) { try { - const { setOfflineModeEnvVars, normalizeEnvVars, pkgExec } = await import( + const { setOfflineModeEnvVars, normalizeEnvVars } = await import( './utils/bootstrap' ); setOfflineModeEnvVars(); normalizeEnvVars(); - // The 'pkgExec' special/internal command provides a Node.js interpreter - // for use of the standalone zip package. See pkgExec function. - if (cliArgs.length > 3 && cliArgs[2] === 'pkgExec') { - return pkgExec(cliArgs[3], cliArgs.slice(4)); - } - await init(); // Look for commands that have been removed and if so, exit with a notice diff --git a/src/utils/bootstrap.ts b/src/utils/bootstrap.ts index 679e66f30..f4a321368 100644 --- a/src/utils/bootstrap.ts +++ b/src/utils/bootstrap.ts @@ -83,43 +83,6 @@ export function setOfflineModeEnvVars() { } } -/** - * Implements the 'pkgExec' command, used as a way to provide a Node.js - * interpreter for child_process.spawn()-like operations when the CLI is - * executing as a standalone zip package (built-in Node interpreter) and - * the system may not have a separate Node.js installation. A present use - * case is a patched version of the 'windosu' package that requires a - * Node.js interpreter to spawn a privileged child process. - * - * @param modFunc Path to a JS module that will be executed via require(). - * The modFunc argument may optionally contain a function name separated - * by '::', for example '::main' in: - * 'C:\\snapshot\\balena-cli\\node_modules\\windosu\\lib\\pipe.js::main' - * in which case that function is executed in the require'd module. - * @param args Optional arguments to passed through process.argv and as - * arguments to the function specified via modFunc. - */ -export async function pkgExec(modFunc: string, args: string[]) { - const [modPath, funcName] = modFunc.split('::'); - let replacedModPath = modPath; - const match = modPath - .replace(/\\/g, '/') - .match(/\/snapshot\/balena-cli\/(.+)/); - if (match) { - replacedModPath = `../${match[1]}`; - } - process.argv = [process.argv[0], process.argv[1], ...args]; - try { - const mod: any = await import(replacedModPath); - if (funcName) { - await mod[funcName](...args); - } - } catch (err) { - console.error(`Error executing pkgExec "${modFunc}" [${args.join()}]`); - console.error(err); - } -} - export interface CachedUsername { token: string; username: string; diff --git a/tests/helpers.ts b/tests/helpers.ts index bbce46811..39a69f8fe 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -17,13 +17,21 @@ import * as _ from 'lodash'; import * as path from 'path'; +import * as fs from 'fs'; +import { createGunzip } from 'zlib'; import * as packageJSON from '../package.json'; import { getNodeEngineVersionWarn } from '../build/utils/messages'; import { warnify } from '../build/utils/messages'; -const balenaExe = process.platform === 'win32' ? 'balena.exe' : 'balena'; -const standalonePath = path.resolve(__dirname, '..', 'build-bin', balenaExe); +const standalonePath = path.resolve( + __dirname, + '..', + 'dist', + 'balena', + 'bin', + 'balena', +); export interface TestOutput { err: string[]; // stderr @@ -164,11 +172,21 @@ async function runCommandInSubprocess( // override default proxy exclusion to allow proxying of requests to 127.0.0.1 BALENARC_DO_PROXY: '127.0.0.1,localhost', }; - const { execFile } = await import('child_process'); + const { exec } = await import('child_process'); + + // check if standalonePath exists and print its content + if (!fs.existsSync(standalonePath)) { + console.error('standalonePath does not exist'); + } else { + console.error('file exists!'); + } + await new Promise((resolve) => { - const child = execFile( - standalonePath, - cmd.split(' ').filter((c) => c), + const child = exec( + `${standalonePath} ${cmd + .split(' ') + .filter((c) => c) + .join(' ')}`, { env: { ...process.env, ...addedEnvs } }, ($error, $stdout, $stderr) => { stderr = $stderr || ''; @@ -213,6 +231,67 @@ ${$error}`; }; } +async function extractTarStream() { + if ( + fs.existsSync(path.join(__dirname, '..', 'dist', 'balena', 'bin', 'balena')) + ) { + return; + } + + const tar = await import('tar-stream'); + + const version = 'v' + packageJSON.version; + const arch = process.arch; + const platform = + process.platform === 'win32' + ? 'windows' + : process.platform === 'darwin' + ? 'macOS' + : process.platform; + + const sourceFile = path.join( + __dirname, + '..', + 'dist', + `balena-cli-${version}-${platform}-${arch}-standalone.tar.gz`, + ); + const destinationDir = path.join(__dirname, '..', 'dist'); + + const extract = tar.extract(); + + return new Promise((resolve, reject) => { + extract.on('entry', (header, stream, next) => { + const outputPath = path.join(destinationDir, header.name); + + if (header.type === 'directory') { + fs.mkdirSync(outputPath, { recursive: true }); + next(); + } else { + fs.mkdirSync(path.dirname(outputPath), { recursive: true }); + const fileStream = fs.createWriteStream(outputPath); + + stream.pipe(fileStream); + + fileStream.on('close', () => { + if (header.mode) { + fs.chmodSync(outputPath, header.mode); // Set file permissions + } + next(); + }); + fileStream.on('error', reject); + } + }); + + extract.on('finish', resolve); + extract.on('error', reject); + + fs.createReadStream(sourceFile) + .pipe(createGunzip()) + .pipe(extract) + .on('error', reject); + }); +} + /** * Run a CLI command and capture its stdout, stderr and exit code for testing. * If the BALENA_CLI_TEST_TYPE env var is set to 'standalone', then the command @@ -223,6 +302,7 @@ ${$error}`; */ export async function runCommand(cmd: string): Promise { if (process.env.BALENA_CLI_TEST_TYPE === 'standalone') { + await extractTarStream(); const semver = await import('semver'); if (semver.lt(process.version, '10.16.0')) { throw new Error( diff --git a/tests/test-data/pkg/expected-warnings-darwin-arm64.txt b/tests/test-data/pkg/expected-warnings-darwin-arm64.txt deleted file mode 100644 index 45651ed9d..000000000 --- a/tests/test-data/pkg/expected-warnings-darwin-arm64.txt +++ /dev/null @@ -1,382 +0,0 @@ -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/help.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-args.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-flags.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/compose_ts.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/docker.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/env-common.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/helpers.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/lazy.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/revoke.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/app/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/block/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/inject.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/read.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/reconfigure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/write.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/deploy/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/deactivate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/detect.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/identify.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/init.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/local-mode.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/logs.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/move.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/note.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/os-update.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/public-url.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/reboot.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/register.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/shutdown.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/ssh.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/start-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/stop-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/track-fleet.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/tunnel.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device-type/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/track-latest.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/internal/osinit.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/join/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/leave/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/flash.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/login/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/logout/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/organization/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/build-config.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/download.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/initialize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/versions.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/preload/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/push/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/finalize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/invalidate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/validate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/settings/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/add.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/support/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/util/available-drives.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/version/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/whoami/index.js -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot resolve 'path' - node_modules/@balena/compose/dist/parse/schemas/index.js - Dynamic require may fail at run time, because the requested file - is unknown at compilation time and not included into executable. - Use a string literal as an argument for 'require', or leave it - as is and specify the resolved file name in 'scripts' option. -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/axios.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/utils.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/adapters.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/http.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/xhr.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/CancelToken.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/CanceledError.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/isCancel.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/Axios.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/AxiosError.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/AxiosHeaders.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/InterceptorManager.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/buildFullPath.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/dispatchRequest.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/mergeConfig.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/settle.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/transformData.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/defaults/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/defaults/transitional.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/env/data.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/AxiosTransformStream.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/AxiosURLSearchParams.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/HttpStatusCode.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/bind.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/buildURL.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/callbackify.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/combineURLs.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/cookies.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/formDataToJSON.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/formDataToStream.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/fromDataURI.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isAbsoluteURL.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isAxiosError.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isURLSameOrigin.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/parseHeaders.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/parseProtocol.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/readBlob.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/speedometer.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/spread.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/throttle.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/toFormData.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/toURLEncodedForm.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/validator.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/common/utils.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/classes/FormData.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/classes/URLSearchParams.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/form-data-encoder/lib/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/formdata-node/lib/form-data.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js \ No newline at end of file diff --git a/tests/test-data/pkg/expected-warnings-darwin-x64.txt b/tests/test-data/pkg/expected-warnings-darwin-x64.txt deleted file mode 100644 index 0af993116..000000000 --- a/tests/test-data/pkg/expected-warnings-darwin-x64.txt +++ /dev/null @@ -1,382 +0,0 @@ -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/help.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-args.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-flags.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/compose_ts.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/docker.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/env-common.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/helpers.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/lazy.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/revoke.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/app/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/block/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/inject.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/read.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/reconfigure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/write.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/deploy/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/deactivate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/detect.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/identify.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/init.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/local-mode.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/logs.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/move.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/note.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/os-update.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/public-url.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/reboot.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/register.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/shutdown.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/ssh.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/start-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/stop-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/track-fleet.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/tunnel.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device-type/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/track-latest.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/internal/osinit.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/join/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/leave/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/flash.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/login/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/logout/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/organization/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/build-config.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/download.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/initialize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/versions.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/preload/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/push/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/finalize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/invalidate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/validate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/settings/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/add.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/support/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/util/available-drives.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/version/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/whoami/index.js -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot resolve 'path' - node_modules/@balena/compose/dist/parse/schemas/index.js - Dynamic require may fail at run time, because the requested file - is unknown at compilation time and not included into executable. - Use a string literal as an argument for 'require', or leave it - as is and specify the resolved file name in 'scripts' option. -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/axios.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/utils.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/adapters.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/http.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/xhr.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CancelToken.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CanceledError.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/isCancel.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/Axios.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosError.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosHeaders.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/InterceptorManager.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/buildFullPath.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/dispatchRequest.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/mergeConfig.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/settle.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/transformData.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/transitional.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/env/data.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosTransformStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosURLSearchParams.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/HttpStatusCode.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/bind.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/buildURL.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/callbackify.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/combineURLs.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/cookies.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToJSON.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/fromDataURI.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAbsoluteURL.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAxiosError.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isURLSameOrigin.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseHeaders.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseProtocol.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/readBlob.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/speedometer.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/spread.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/throttle.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toFormData.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toURLEncodedForm.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/validator.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/common/utils.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/FormData.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/URLSearchParams.js -> Warning Failed to make bytecode node20-x64 for file node_modules/form-data-encoder/lib/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/formdata-node/lib/form-data.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js \ No newline at end of file diff --git a/tests/test-data/pkg/expected-warnings-linux-arm64.txt b/tests/test-data/pkg/expected-warnings-linux-arm64.txt deleted file mode 100644 index 45651ed9d..000000000 --- a/tests/test-data/pkg/expected-warnings-linux-arm64.txt +++ /dev/null @@ -1,382 +0,0 @@ -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/help.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-args.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-flags.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/compose_ts.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/docker.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/env-common.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/helpers.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/lazy.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/revoke.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/app/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/block/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/inject.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/read.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/reconfigure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/write.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/deploy/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/deactivate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/detect.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/identify.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/init.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/local-mode.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/logs.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/move.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/note.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/os-update.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/public-url.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/reboot.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/register.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/shutdown.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/ssh.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/start-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/stop-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/track-fleet.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/tunnel.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device-type/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/track-latest.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/internal/osinit.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/join/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/leave/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/flash.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/login/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/logout/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/organization/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/build-config.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/download.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/initialize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/versions.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/preload/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/push/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/finalize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/invalidate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/validate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/settings/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/add.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/support/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/util/available-drives.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/version/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/whoami/index.js -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot resolve 'path' - node_modules/@balena/compose/dist/parse/schemas/index.js - Dynamic require may fail at run time, because the requested file - is unknown at compilation time and not included into executable. - Use a string literal as an argument for 'require', or leave it - as is and specify the resolved file name in 'scripts' option. -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/axios.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/utils.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/adapters.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/http.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/xhr.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/CancelToken.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/CanceledError.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/isCancel.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/Axios.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/AxiosError.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/AxiosHeaders.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/InterceptorManager.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/buildFullPath.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/dispatchRequest.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/mergeConfig.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/settle.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/transformData.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/defaults/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/defaults/transitional.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/env/data.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/AxiosTransformStream.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/AxiosURLSearchParams.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/HttpStatusCode.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/bind.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/buildURL.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/callbackify.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/combineURLs.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/cookies.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/formDataToJSON.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/formDataToStream.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/fromDataURI.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isAbsoluteURL.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isAxiosError.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isURLSameOrigin.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/parseHeaders.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/parseProtocol.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/readBlob.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/speedometer.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/spread.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/throttle.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/toFormData.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/toURLEncodedForm.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/validator.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/common/utils.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/classes/FormData.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/classes/URLSearchParams.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/form-data-encoder/lib/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/formdata-node/lib/form-data.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js -> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js \ No newline at end of file diff --git a/tests/test-data/pkg/expected-warnings-linux-x64.txt b/tests/test-data/pkg/expected-warnings-linux-x64.txt deleted file mode 100644 index 0af993116..000000000 --- a/tests/test-data/pkg/expected-warnings-linux-x64.txt +++ /dev/null @@ -1,382 +0,0 @@ -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/app.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/help.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-args.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/common-flags.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/compose_ts.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/docker.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/env-common.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/helpers.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/utils/lazy.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/api-key/revoke.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/app/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/block/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/inject.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/read.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/reconfigure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/config/write.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/deploy/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/deactivate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/detect.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/identify.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/init.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/local-mode.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/logs.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/move.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/note.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/os-update.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/public-url.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/reboot.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/register.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/shutdown.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/ssh.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/start-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/stop-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/track-fleet.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device/tunnel.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/device-type/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/env/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/create.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/fleet/track-latest.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/internal/osinit.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/join/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/leave/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/local/flash.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/login/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/logout/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/organization/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/build-config.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/download.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/initialize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/os/versions.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/preload/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/push/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/finalize.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/invalidate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/release/validate.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/settings/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/add.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/ssh-key/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/support/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/list.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/tag/set.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/util/available-drives.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/version/index.js -> Warning Entry 'main' not found in %1 - %1: node_modules/@oclif/core/package.json - %2: build/commands/whoami/index.js -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/open/xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/build/Release/drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules/drivelist/scripts/win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot resolve 'path' - node_modules/@balena/compose/dist/parse/schemas/index.js - Dynamic require may fail at run time, because the requested file - is unknown at compilation time and not included into executable. - Use a string literal as an argument for 'require', or leave it - as is and specify the resolved file name in 'scripts' option. -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/axios.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/utils.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/adapters.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/http.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/xhr.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CancelToken.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CanceledError.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/isCancel.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/Axios.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosError.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosHeaders.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/InterceptorManager.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/buildFullPath.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/dispatchRequest.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/mergeConfig.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/settle.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/transformData.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/transitional.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/env/data.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosTransformStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosURLSearchParams.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/HttpStatusCode.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/bind.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/buildURL.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/callbackify.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/combineURLs.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/cookies.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToJSON.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/fromDataURI.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAbsoluteURL.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAxiosError.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isURLSameOrigin.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseHeaders.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseProtocol.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/readBlob.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/speedometer.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/spread.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/throttle.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toFormData.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toURLEncodedForm.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/validator.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/common/utils.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/FormData.js -> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/URLSearchParams.js -> Warning Failed to make bytecode node20-x64 for file node_modules/form-data-encoder/lib/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/formdata-node/lib/form-data.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js -> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js \ No newline at end of file diff --git a/tests/test-data/pkg/expected-warnings-win32-x64.txt b/tests/test-data/pkg/expected-warnings-win32-x64.txt deleted file mode 100644 index 787007e19..000000000 --- a/tests/test-data/pkg/expected-warnings-win32-x64.txt +++ /dev/null @@ -1,382 +0,0 @@ -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\app.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\app.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\help.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\utils\common-args.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\utils\common-flags.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\utils\compose_ts.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\utils\docker.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\utils\env-common.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\utils\helpers.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\utils\lazy.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\api-key\generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\api-key\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\api-key\revoke.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\app\create.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\block\create.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\config\generate.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\config\inject.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\config\read.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\config\reconfigure.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\config\write.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\deploy\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\deactivate.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\detect.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\identify.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\init.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\local-mode.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\logs.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\move.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\note.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\os-update.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\public-url.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\reboot.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\register.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\shutdown.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\ssh.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\start-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\stop-service.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\track-fleet.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device\tunnel.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\device-type\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\env\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\env\rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\env\rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\env\set.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\create.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\pin.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\purge.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\rename.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\restart.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\fleet\track-latest.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\internal\osinit.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\join\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\leave\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\local\configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\local\flash.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\login\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\logout\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\organization\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\os\build-config.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\os\configure.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\os\download.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\os\initialize.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\os\versions.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\preload\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\push\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\release\finalize.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\release\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\release\invalidate.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\release\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\release\validate.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\settings\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\ssh-key\add.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\ssh-key\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\ssh-key\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\ssh-key\rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\support\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\tag\list.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\tag\rm.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\tag\set.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\util\available-drives.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\version\index.js -> Warning Entry 'main' not found in %1 - %1: node_modules\@oclif\core\package.json - %2: build\commands\whoami\index.js -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\open\xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\open\xdg-open - %2: path-to-executable/xdg-open -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\build\Release\drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\scripts\darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\scripts\linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\scripts\win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\build\Release\drivelist.node - %2: path-to-executable/drivelist.node -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\scripts\darwin.sh - %2: path-to-executable/drivelist/darwin.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\scripts\linux.sh - %2: path-to-executable/drivelist/linux.sh -> Warning Cannot include file %1 into executable. - The file must be distributed with executable as %2. - %1: node_modules\drivelist\scripts\win32.bat - %2: path-to-executable/drivelist/win32.bat -> Warning Cannot resolve 'path' - node_modules\@balena\compose\dist\parse\schemas\index.js - Dynamic require may fail at run time, because the requested file - is unknown at compilation time and not included into executable. - Use a string literal as an argument for 'require', or leave it - as is and specify the resolved file name in 'scripts' option. -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\axios.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\utils.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\adapters\adapters.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\adapters\http.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\adapters\xhr.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\cancel\CanceledError.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\cancel\CancelToken.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\cancel\isCancel.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\Axios.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\AxiosError.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\AxiosHeaders.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\buildFullPath.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\dispatchRequest.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\InterceptorManager.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\mergeConfig.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\settle.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\transformData.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\defaults\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\defaults\transitional.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\env\data.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\AxiosTransformStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\AxiosURLSearchParams.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\bind.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\buildURL.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\callbackify.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\combineURLs.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\cookies.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\formDataToJSON.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\formDataToStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\fromDataURI.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\HttpStatusCode.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\isAbsoluteURL.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\isAxiosError.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\isURLSameOrigin.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\parseHeaders.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\parseProtocol.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\readBlob.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\speedometer.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\spread.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\throttle.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\toFormData.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\toURLEncodedForm.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\validator.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\ZlibHeaderTransformStream.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\common\utils.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\node\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\node\classes\FormData.js -> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\node\classes\URLSearchParams.js -> Warning Failed to make bytecode node20-x64 for file node_modules\form-data-encoder\lib\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\formdata-node\lib\form-data.js -> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\string-width\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\strip-ansi\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\wrap-ansi\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\ansi-regex\index.js -> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\ansi-styles\index.js From 759e601617e8f099a31fd3decf14d2b073aadd97 Mon Sep 17 00:00:00 2001 From: myarmolinsky Date: Wed, 5 Feb 2025 12:13:14 -0500 Subject: [PATCH 3/6] Update balena-sdk to 21.1.0 Change-type: patch --- npm-shrinkwrap.json | 76 ++++++++++++++++++++++++++++++++++++--------- package.json | 2 +- 2 files changed, 62 insertions(+), 16 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 9834d0c18..0cd10921d 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -21,7 +21,7 @@ "balena-errors": "^4.7.3", "balena-image-fs": "^7.3.0", "balena-preload": "^17.0.0", - "balena-sdk": "^20.8.0", + "balena-sdk": "^21.1.0", "balena-semver": "^2.3.0", "balena-settings-client": "^5.0.2", "balena-settings-storage": "^8.1.0", @@ -6809,6 +6809,58 @@ "node": ">=18" } }, + "node_modules/balena-preload/node_modules/@types/node": { + "version": "18.19.75", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.75.tgz", + "integrity": "sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/balena-preload/node_modules/balena-sdk": { + "version": "20.9.1", + "resolved": "https://registry.npmjs.org/balena-sdk/-/balena-sdk-20.9.1.tgz", + "integrity": "sha512-M1Fl8z12JlbLY0LNogSogzwuNKIbMNPggLZoGOh5EpCwhzlyeYe/wCXdSxIG18I6QRRrKhCcbraCGwZR11l6RA==", + "license": "Apache-2.0", + "dependencies": { + "@balena/es-version": "^1.0.0", + "@types/json-schema": "^7.0.9", + "@types/node": "^18.19.50", + "abortcontroller-polyfill": "^1.7.1", + "balena-auth": "^6.0.1", + "balena-errors": "^4.9.0", + "balena-hup-action-utils": "~6.2.0", + "balena-register-device": "^9.0.4", + "balena-request": "^14.0.0", + "balena-semver": "^2.3.0", + "balena-settings-client": "^5.0.0", + "date-fns": "^3.0.5", + "handlebars": "^4.7.7", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "mime": "^3.0.0", + "ndjson": "^2.0.0", + "p-throttle": "^4.1.1", + "pinejs-client-core": "^7.0.0", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/balena-preload/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/balena-register-device": { "version": "9.0.4", "resolved": "https://registry.npmjs.org/balena-register-device/-/balena-register-device-9.0.4.tgz", @@ -6851,13 +6903,14 @@ } }, "node_modules/balena-sdk": { - "version": "20.8.0", - "resolved": "https://registry.npmjs.org/balena-sdk/-/balena-sdk-20.8.0.tgz", - "integrity": "sha512-t0uaxEJIp1P/ZiQ9Yf4P1VUtrWEbUjjsd7p0Xz93x9JtvtqqCnCmFV+N96atqPGY+QEYZveGOZ2qwBee5H2pig==", + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/balena-sdk/-/balena-sdk-21.1.0.tgz", + "integrity": "sha512-MGePV8mugW+AocheI1vYU92qW9KMdJx+dt9abHg611ghwAMUaBIPweaN9DoMzZmaDGitSlcUZIt9EBxqC1MqTQ==", + "license": "Apache-2.0", "dependencies": { "@balena/es-version": "^1.0.0", "@types/json-schema": "^7.0.9", - "@types/node": "^18.19.50", + "@types/node": "^20.17.8", "abortcontroller-polyfill": "^1.7.1", "balena-auth": "^6.0.1", "balena-errors": "^4.9.0", @@ -6877,15 +6930,7 @@ "tslib": "^2.1.0" }, "engines": { - "node": ">=18.0" - } - }, - "node_modules/balena-sdk/node_modules/@types/node": { - "version": "18.19.70", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.70.tgz", - "integrity": "sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==", - "dependencies": { - "undici-types": "~5.26.4" + "node": "^20.12.0 || >= 22.0.0" } }, "node_modules/balena-sdk/node_modules/mime": { @@ -18556,7 +18601,8 @@ "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" }, "node_modules/unique-string": { "version": "2.0.0", diff --git a/package.json b/package.json index 7739f75eb..d00fc2f1a 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "balena-errors": "^4.7.3", "balena-image-fs": "^7.3.0", "balena-preload": "^17.0.0", - "balena-sdk": "^20.8.0", + "balena-sdk": "^21.1.0", "balena-semver": "^2.3.0", "balena-settings-client": "^5.0.2", "balena-settings-storage": "^8.1.0", From a3cad26749891a29ea205300d0caad04bcd1dd15 Mon Sep 17 00:00:00 2001 From: myarmolinsky Date: Wed, 5 Feb 2025 12:17:38 -0500 Subject: [PATCH 4/6] api-key generate: Add required argument `expiryDate` Change-type: major --- docs/balena-cli.md | 4 ++++ src/commands/api-key/generate.ts | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/balena-cli.md b/docs/balena-cli.md index 3d5c2f496..a3e4ad340 100644 --- a/docs/balena-cli.md +++ b/docs/balena-cli.md @@ -333,6 +333,10 @@ Examples: the API key name +#### EXPIRYDATE + +the expiry date of the API key + ## api-key list ### Aliases diff --git a/src/commands/api-key/generate.ts b/src/commands/api-key/generate.ts index fcdeba0c2..0abee62b1 100644 --- a/src/commands/api-key/generate.ts +++ b/src/commands/api-key/generate.ts @@ -48,6 +48,10 @@ export default class GenerateCmd extends Command { description: 'the API key name', required: true, }), + expiryDate: Args.string({ + description: 'the expiry date of the API key', + required: true, + }), }; public static authenticated = true; @@ -57,7 +61,10 @@ export default class GenerateCmd extends Command { let key; try { - key = await getBalenaSdk().models.apiKey.create(params.name); + key = await getBalenaSdk().models.apiKey.create({ + name: params.name, + expiryDate: params.expiryDate, + }); } catch (e) { if (e.name === 'BalenaNotLoggedIn') { if (await isLoggedInWithJwt()) { From 457592a0eb6905667831f6189ccb2493691ba52c Mon Sep 17 00:00:00 2001 From: myarmolinsky Date: Wed, 5 Feb 2025 12:19:59 -0500 Subject: [PATCH 5/6] Drop support for OS versions <2.0.3 Change-type: major --- src/utils/config.ts | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/utils/config.ts b/src/utils/config.ts index 28f57c524..45c5e5480 100644 --- a/src/utils/config.ts +++ b/src/utils/config.ts @@ -14,7 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ import type * as BalenaSdk from 'balena-sdk'; -import * as semver from 'balena-semver'; import { getBalenaSdk, stripIndent } from './lazy'; export interface ImgConfig { @@ -122,16 +121,10 @@ export function generateDeviceConfig( // os.getConfig always returns a config for an app delete config.apiKey; - if (deviceApiKey == null && semver.satisfies(options.version, '<2.0.3')) { - config.apiKey = await sdk.models.application.generateApiKey( - application.id, - ); - } else { - config.deviceApiKey = - typeof deviceApiKey === 'string' && deviceApiKey - ? deviceApiKey - : await sdk.models.device.generateDeviceKey(device.uuid); - } + config.deviceApiKey = + typeof deviceApiKey === 'string' && deviceApiKey + ? deviceApiKey + : await sdk.models.device.generateDeviceKey(device.uuid); return config; }) From 00a80a95047f9a3a1b7b32036a8c9cac87709b8a Mon Sep 17 00:00:00 2001 From: myarmolinsky Date: Wed, 5 Feb 2025 12:20:42 -0500 Subject: [PATCH 6/6] Address SDK major v21 breaking changes --- npm-shrinkwrap.json | 479 +++++++++++------- src/commands/preload/index.ts | 2 +- src/utils/compose.ts | 4 +- src/utils/image-manager.ts | 7 +- tests/commands/release.spec.ts | 2 +- .../api-response/release-GET-v7.json | 2 +- .../utils/image-manager/image-manager.spec.ts | 70 --- 7 files changed, 303 insertions(+), 263 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 0cd10921d..29a5133cf 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1138,22 +1138,6 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/@babel/generator": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", - "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", @@ -1291,20 +1275,6 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/parser/node_modules/@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/template": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", @@ -1319,20 +1289,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template/node_modules/@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/traverse": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", @@ -1371,10 +1327,10 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", + "node_modules/@babel/types": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", + "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", "dev": true, "license": "MIT", "dependencies": { @@ -1573,6 +1529,19 @@ "npm": ">=9.8.1" } }, + "node_modules/@balena/lint/node_modules/@eslint/core": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", + "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@balena/lint/node_modules/@eslint/eslintrc": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", @@ -1609,9 +1578,9 @@ } }, "node_modules/@balena/lint/node_modules/@eslint/js": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", - "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", + "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", "dev": true, "license": "MIT", "engines": { @@ -1668,18 +1637,18 @@ } }, "node_modules/@balena/lint/node_modules/eslint": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", - "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", + "version": "9.20.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", + "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.10.0", + "@eslint/core": "^0.11.0", "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.18.0", + "@eslint/js": "9.20.0", "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -1861,10 +1830,11 @@ } }, "node_modules/@balena/lint/node_modules/jackspeak": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", - "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.3.tgz", + "integrity": "sha512-oSwM7q8PTHQWuZAlp995iPpPJ4Vkl7qT0ZRD+9duL9j2oBy6KcTfyxc8mEuHJYC+z/kbps80aJLkaNzTOrf/kw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -2443,35 +2413,49 @@ } }, "node_modules/@inquirer/checkbox/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/checkbox/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/checkbox/node_modules/ansi-escapes": { @@ -2594,10 +2578,11 @@ } }, "node_modules/@inquirer/core/node_modules/@types/node": { - "version": "22.10.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz", - "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", + "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~6.20.0" } @@ -2697,35 +2682,49 @@ } }, "node_modules/@inquirer/editor/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/editor/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/editor/node_modules/ansi-escapes": { @@ -2843,35 +2842,49 @@ } }, "node_modules/@inquirer/expand/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/expand/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/expand/node_modules/ansi-escapes": { @@ -2946,10 +2959,11 @@ } }, "node_modules/@inquirer/figures": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.9.tgz", - "integrity": "sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.10.tgz", + "integrity": "sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } @@ -2984,35 +2998,49 @@ } }, "node_modules/@inquirer/number/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/number/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/number/node_modules/ansi-escapes": { @@ -3104,35 +3132,49 @@ } }, "node_modules/@inquirer/password/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/password/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/password/node_modules/ansi-escapes": { @@ -3231,66 +3273,87 @@ } }, "node_modules/@inquirer/prompts/node_modules/@inquirer/confirm": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.3.tgz", - "integrity": "sha512-fuF9laMmHoOgWapF9h9hv6opA5WvmGFHsTYGCmuFxcghIhEhb3dN0CdQR4BUMqa2H506NCj8cGX4jwMsE4t6dA==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.5.tgz", + "integrity": "sha512-ZB2Cz8KeMINUvoeDi7IrvghaVkYT2RB0Zb31EaLWOE87u276w4wnApv0SH2qWaJ3r0VSUa3BIuz7qAV2ZvsZlg==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.4", - "@inquirer/type": "^3.0.2" + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4" }, "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/prompts/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/prompts/node_modules/@inquirer/input": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.3.tgz", - "integrity": "sha512-zeo++6f7hxaEe7OjtMzdGZPHiawsfmCZxWB9X1NpmYgbeoyerIbWemvlBxxl+sQIlHC0WuSAG19ibMq3gbhaqQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.5.tgz", + "integrity": "sha512-bB6wR5wBCz5zbIVBPnhp94BHv/G4eKbUEjlpCw676pI2chcvzTx1MuwZSCZ/fgNOdqDlAxkhQ4wagL8BI1D3Zg==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.4", - "@inquirer/type": "^3.0.2" + "@inquirer/core": "^10.1.6", + "@inquirer/type": "^3.0.4" }, "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/prompts/node_modules/@inquirer/select": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.6.tgz", - "integrity": "sha512-yANzIiNZ8fhMm4NORm+a74+KFYHmf7BZphSOBovIzYPVLquseTGEkU5l2UTnBOf5k0VLmTgPighNDLE9QtbViQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.8.tgz", + "integrity": "sha512-Io2prxFyN2jOCcu4qJbVoilo19caiD3kqkD3WR0q3yDA5HUCo83v4LrRtg55ZwniYACW64z36eV7gyVbOfORjA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.4", - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/core": "^10.1.6", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, @@ -3299,18 +3362,29 @@ }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/prompts/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/prompts/node_modules/ansi-escapes": { @@ -3318,6 +3392,7 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -3333,6 +3408,7 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, + "license": "ISC", "engines": { "node": ">= 12" } @@ -3342,6 +3418,7 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, + "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" } @@ -3351,6 +3428,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -3363,6 +3441,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3375,6 +3454,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -3402,35 +3482,49 @@ } }, "node_modules/@inquirer/rawlist/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/rawlist/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/rawlist/node_modules/ansi-escapes": { @@ -3523,35 +3617,49 @@ } }, "node_modules/@inquirer/search/node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.6.tgz", + "integrity": "sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==", "dev": true, + "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/search/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@inquirer/search/node_modules/ansi-escapes": { @@ -4131,10 +4239,11 @@ } }, "node_modules/@oclif/plugin-warn-if-update-available/node_modules/registry-auth-token": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.3.tgz", - "integrity": "sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", + "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", "dev": true, + "license": "MIT", "dependencies": { "@pnpm/npm-conf": "^2.1.0" }, @@ -5590,9 +5699,9 @@ } }, "node_modules/@types/node": { - "version": "20.17.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.13.tgz", - "integrity": "sha512-RNf+4dEeV69PIvyp++4IKM2vnLXtmp/JovfeQm5P5+qpKb6wHoH7INywLdZ7z+gVX46kgBP/fwJJvZYaHxtdyw==", + "version": "20.17.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.17.tgz", + "integrity": "sha512-/WndGO4kIfMicEQLTi/mDANUu/iVUhT7KboZPdEqqHQ4aTS+3qT3U5gIqWDFV+XouorjfgGqvKILJeHhuQgFYg==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -8744,9 +8853,10 @@ "integrity": "sha512-6+VnnhZpxwWvvKwjkRnuqlTtlBRJuM+3cCSXmZoYhyXcdgxx6l/3lwYpqmJ9qmhzgWVeATkpVsTua92BsObJjw==" }, "node_modules/docker-modem": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.5.tgz", - "integrity": "sha512-Cxw8uEcvNTRmsQuGqzzfiCnfGgf96tVJItLh8taOX0miTcIBALKH5TckCSuZbpbjP7uhAl81dOL9sxfa6HgCIg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz", + "integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==", + "license": "Apache-2.0", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", @@ -8792,14 +8902,15 @@ } }, "node_modules/dockerode": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.3.tgz", - "integrity": "sha512-QSXJFcBQNaGZO6U3qWW4B7p8yRIJn/dWmvL2AQWfO/bjptBBO6QYdVkYSYFz9qoivP2jsOHZfmXMAfrK0BMKyg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.4.tgz", + "integrity": "sha512-6GYP/EdzEY50HaOxTVTJ2p+mB5xDHTMJhS+UoGrVyS6VC+iQRh7kZ4FRpUYq6nziby7hPqWhOrFFUFTMUZJJ5w==", + "license": "Apache-2.0", "dependencies": { "@balena/dockerignore": "^1.0.2", "@grpc/grpc-js": "^1.11.1", "@grpc/proto-loader": "^0.7.13", - "docker-modem": "^5.0.5", + "docker-modem": "^5.0.6", "protobufjs": "^7.3.2", "tar-fs": "~2.0.1", "uuid": "^10.0.0" @@ -10675,10 +10786,11 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -14161,9 +14273,10 @@ "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==" }, "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -15691,16 +15804,17 @@ } }, "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", - "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", @@ -15724,9 +15838,9 @@ } }, "node_modules/prebuild-install/node_modules/node-abi": { - "version": "3.72.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.72.0.tgz", - "integrity": "sha512-a28z9xAQXvDh40lVCknWCP5zYTZt6Av8HZqZ63U5OWxTcP20e3oOIy8yHkYfctQM2adR8ru1GxWCkS0gS+WYKA==", + "version": "3.74.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz", + "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==", "license": "MIT", "dependencies": { "semver": "^7.3.5" @@ -16827,9 +16941,10 @@ } }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, diff --git a/src/commands/preload/index.ts b/src/commands/preload/index.ts index 3e0936852..100acd0a9 100644 --- a/src/commands/preload/index.ts +++ b/src/commands/preload/index.ts @@ -295,7 +295,7 @@ Can be repeated to add multiple certificates.\ owns__release: { $select: ['id', 'commit', 'end_timestamp', 'composition'], $expand: { - contains__image: { + release_image: { $select: ['image'], $expand: { image: { diff --git a/src/utils/compose.ts b/src/utils/compose.ts index 1d1f5837b..8404cdceb 100644 --- a/src/utils/compose.ts +++ b/src/utils/compose.ts @@ -240,7 +240,7 @@ export const getPreviousRepos = ( status: 'success', }, $expand: { - contains__image: { + release_image: { $select: 'image', $expand: { image: { $select: 'is_stored_at__image_location' } }, }, @@ -252,7 +252,7 @@ export const getPreviousRepos = ( .then(function (release) { // grab all images from the latest release, return all image locations in the registry if (release.length > 0) { - const images = release[0].contains__image as Array<{ + const images = release[0].release_image as Array<{ image: [SDK.Image]; }>; const { getRegistryAndName } = diff --git a/src/utils/image-manager.ts b/src/utils/image-manager.ts index 382c46cc3..d425238e9 100644 --- a/src/utils/image-manager.ts +++ b/src/utils/image-manager.ts @@ -102,12 +102,7 @@ export const isImageFresh = async (deviceType: string, version: string) => { return false; } - const balena = getBalenaSdk(); - const lastModifiedDate = await balena.models.os.getLastModified( - deviceType, - version, - ); - return lastModifiedDate < createdDate; + return true; }; /** diff --git a/tests/commands/release.spec.ts b/tests/commands/release.spec.ts index 1ced28ca9..8dc75d67d 100644 --- a/tests/commands/release.spec.ts +++ b/tests/commands/release.spec.ts @@ -82,7 +82,7 @@ describe('balena release', function () { expect(err).to.be.empty; const json = JSON.parse(out.join('')); expect(json[0].commit).to.equal('90247b54de4fa7a0a3cbc85e73c68039'); - expect(json[0].contains__image[0].image[0].start_timestamp).to.equal( + expect(json[0].release_image[0].image[0].start_timestamp).to.equal( '2020-01-04T01:13:08.583Z', ); }); diff --git a/tests/test-data/api-response/release-GET-v7.json b/tests/test-data/api-response/release-GET-v7.json index 3f0b8788f..9ac6f9b52 100644 --- a/tests/test-data/api-response/release-GET-v7.json +++ b/tests/test-data/api-response/release-GET-v7.json @@ -10,7 +10,7 @@ "build_log": null, "start_timestamp": "2021-08-25T22:18:33.624Z", "end_timestamp": "2021-08-25T22:18:48.820Z", - "contains__image": [ + "release_image": [ { "image": [ { diff --git a/tests/utils/image-manager/image-manager.spec.ts b/tests/utils/image-manager/image-manager.spec.ts index 962df0290..0d755228e 100644 --- a/tests/utils/image-manager/image-manager.spec.ts +++ b/tests/utils/image-manager/image-manager.spec.ts @@ -318,76 +318,6 @@ describe('image-manager', function () { .false; }); }); - - describe('given a fixed created time', function () { - beforeEach(function () { - this.utilsGetFileCreatedDate = stub( - imageManager, - 'getFileCreatedDate', - ); - this.utilsGetFileCreatedDate.resolves( - new Date('2014-01-01T00:00:00.000Z'), - ); - }); - - afterEach(function () { - this.utilsGetFileCreatedDate.restore(); - }); - - describe('given the file was created before the os last modified time', function () { - beforeEach(function () { - this.osGetLastModified = stub(balena.models.os, 'getLastModified'); - this.osGetLastModified.resolves( - new Date('2014-02-01T00:00:00.000Z'), - ); - }); - - afterEach(function () { - this.osGetLastModified.restore(); - }); - - it('should return false', function () { - const promise = imageManager.isImageFresh('raspberry-pi', '1.2.3'); - return expect(promise).to.eventually.be.false; - }); - }); - - describe('given the file was created after the os last modified time', function () { - beforeEach(function () { - this.osGetLastModified = stub(balena.models.os, 'getLastModified'); - this.osGetLastModified.resolves( - new Date('2013-01-01T00:00:00.000Z'), - ); - }); - - afterEach(function () { - this.osGetLastModified.restore(); - }); - - it('should return true', function () { - const promise = imageManager.isImageFresh('raspberry-pi', '1.2.3'); - return expect(promise).to.eventually.be.true; - }); - }); - - describe('given the file was created just at the os last modified time', function () { - beforeEach(function () { - this.osGetLastModified = stub(balena.models.os, 'getLastModified'); - this.osGetLastModified.resolves( - new Date('2014-00-01T00:00:00.000Z'), - ); - }); - - afterEach(function () { - this.osGetLastModified.restore(); - }); - - it('should return false', function () { - const promise = imageManager.isImageFresh('raspberry-pi', '1.2.3'); - return expect(promise).to.eventually.be.false; - }); - }); - }); }); });