diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c310c863..0cf0af36 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -115,9 +115,9 @@ The content sources for the auto generation of `docs/balena-cli.md` are:
* [Selected
sections](https://github.com/balena-io/balena-cli/blob/v12.23.0/automation/capitanodoc/capitanodoc.ts#L199-L204)
of the README file.
-* The CLI's command documentation in source code (`lib/commands/` folder), for example:
- * `lib/commands/push.ts`
- * `lib/commands/env/add.ts`
+* The CLI's command documentation in source code (`src/commands/` folder), for example:
+ * `src/commands/push.ts`
+ * `src/commands/env/add.ts`
The README file is manually edited, but subsections are automatically extracted for inclusion in
`docs/balena-cli.md` by the `getCapitanoDoc()` function in
@@ -224,7 +224,7 @@ command, or by manually editing or copying files to the `node_modules` folder.
Unexpected behavior may then be observed because of the CLI's use of the
[fast-boot2](https://www.npmjs.com/package/fast-boot2) package that caches module resolution.
-`fast-boot2` is configured in `lib/fast-boot.ts` to automatically invalidate the cache if
+`fast-boot2` is configured in `src/fast-boot.ts` to automatically invalidate the cache if
changes are made to the `package.json` or `npm-shrinkwrap.json` files, but the cache won't
be automatically invalidated if `npm link` is used or if manual modifications are made to the
`node_modules` folder. In this situation:
diff --git a/INSTALL-ADVANCED.md b/INSTALL-ADVANCED.md
index 25672d4c..c828e37b 100644
--- a/INSTALL-ADVANCED.md
+++ b/INSTALL-ADVANCED.md
@@ -40,7 +40,7 @@ By default, the CLI is installed to the following folders:
OS | Folders
--- | ---
Windows: | `C:\Program Files\balena-cli\`
-macOS: | `/usr/local/lib/balena-cli/`
`/usr/local/bin/balena`
+macOS: | `/usr/local/src/balena-cli/`
`/usr/local/bin/balena`
## Standalone Zip Package
diff --git a/INSTALL-MAC.md b/INSTALL-MAC.md
index 7cfa543d..0b14f542 100644
--- a/INSTALL-MAC.md
+++ b/INSTALL-MAC.md
@@ -27,7 +27,7 @@ To update the balena CLI, repeat the steps above for the new version.
To uninstall it, run the following command on a terminal prompt:
```text
-sudo /usr/local/lib/balena-cli/bin/uninstall
+sudo /usr/local/src/balena-cli/bin/uninstall
```
## Additional Dependencies
diff --git a/automation/build-bin.ts b/automation/build-bin.ts
index 520f5f39..2ba3c479 100644
--- a/automation/build-bin.ts
+++ b/automation/build-bin.ts
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import type { JsonVersions } from '../lib/commands/version/index';
+import type { JsonVersions } from '../src/commands/version/index';
import { run as oclifRun } from '@oclif/core';
import * as archiver from 'archiver';
diff --git a/automation/capitanodoc/capitanodoc.ts b/automation/capitanodoc/capitanodoc.ts
index 93a7f5b3..f687050d 100644
--- a/automation/capitanodoc/capitanodoc.ts
+++ b/automation/capitanodoc/capitanodoc.ts
@@ -28,7 +28,7 @@ import { GlobSync } from 'glob';
*
* IMPORTANT
*
- * All commands need to be stored under a folder in lib/commands to maintain uniformity
+ * All commands need to be stored under a folder in src/commands to maintain uniformity
* Generating docs will error out if directive not followed
* To add a custom heading for command docs, add the heading next to the folder name
* in the `commandHeadings` dictionary.
diff --git a/automation/capitanodoc/index.ts b/automation/capitanodoc/index.ts
index 75e79272..b82f0097 100644
--- a/automation/capitanodoc/index.ts
+++ b/automation/capitanodoc/index.ts
@@ -18,7 +18,7 @@ import * as path from 'path';
import { getCapitanoDoc } from './capitanodoc';
import type { Category, Document, OclifCommand } from './doc-types';
import * as markdown from './markdown';
-import { stripIndent } from '../../lib/utils/lazy';
+import { stripIndent } from '../../src/utils/lazy';
/**
* Generates the markdown document (as a string) for the CLI documentation
diff --git a/automation/capitanodoc/markdown.ts b/automation/capitanodoc/markdown.ts
index c0e2dc80..44cfc422 100644
--- a/automation/capitanodoc/markdown.ts
+++ b/automation/capitanodoc/markdown.ts
@@ -18,8 +18,8 @@ import { Parser } from '@oclif/core';
import * as ent from 'ent';
import * as _ from 'lodash';
-import { getManualSortCompareFunction } from '../../lib/utils/helpers';
-import { capitanoizeOclifUsage } from '../../lib/utils/oclif-utils';
+import { getManualSortCompareFunction } from '../../src/utils/helpers';
+import { capitanoizeOclifUsage } from '../../src/utils/oclif-utils';
import type { Category, Document, OclifCommand } from './doc-types';
function renderOclifCommand(command: OclifCommand): string[] {
diff --git a/automation/check-doc.ts b/automation/check-doc.ts
index 9ad65dc4..bdc33a49 100644
--- a/automation/check-doc.ts
+++ b/automation/check-doc.ts
@@ -43,8 +43,8 @@ async function checkBuildTimestamps() {
...gitStatus.staged,
...gitStatus.renamed.map((o) => o.to),
])
- // select only staged files that start with lib/ or typings/
- .filter((f) => f.match(/^(lib|typings)[/\\]/))
+ // select only staged files that start with src/ or typings/
+ .filter((f) => f.match(/^(src|typings)[/\\]/))
.map((f) => path.join(ROOT, f));
const fStats = await Promise.all(stagedFiles.map((f) => fs.stat(f)));
diff --git a/bin/dev.js b/bin/dev.js
index ceaf47c4..0d1662ea 100755
--- a/bin/dev.js
+++ b/bin/dev.js
@@ -29,7 +29,7 @@ const path = require('path');
const rootDir = path.join(__dirname, '..');
// Allow balena-dev to work with oclif by temporarily
-// pointing oclif config options to lib/ instead of build/
+// pointing oclif config options to src/ instead of build/
modifyOclifPaths();
// Undo changes on exit
process.on('exit', function () {
@@ -57,9 +57,9 @@ require('ts-node').register({
project: path.join(rootDir, 'tsconfig.json'),
transpileOnly: true,
});
-require('../lib/app').run(undefined, { dir: __dirname, development: true });
+require('../src/app').run(undefined, { dir: __dirname, development: true });
-// Modify package.json oclif paths from build/ -> lib/, or vice versa
+// Modify package.json oclif paths from build/ -> src/, or vice versa
function modifyOclifPaths(revert) {
const fs = require('fs');
const packageJsonPath = path.join(rootDir, 'package.json');
@@ -73,9 +73,9 @@ function modifyOclifPaths(revert) {
let oclifSectionText = JSON.stringify(packageObj.oclif);
if (!revert) {
- oclifSectionText = oclifSectionText.replace(/\/build\//g, '/lib/');
+ oclifSectionText = oclifSectionText.replace(/\/build\//g, '/src/');
} else {
- oclifSectionText = oclifSectionText.replace(/\/lib\//g, '/build/');
+ oclifSectionText = oclifSectionText.replace(/\/src\//g, '/build/');
}
packageObj.oclif = JSON.parse(oclifSectionText);
diff --git a/docs/balena-cli.md b/docs/balena-cli.md
index 8dd1ae8f..28a46c79 100644
--- a/docs/balena-cli.md
+++ b/docs/balena-cli.md
@@ -2168,13 +2168,9 @@ fleet name or slug (preferred)
open fleet dashboard page
-#### --fields FIELDS
-
-only show provided fields (comma-separated)
-
#### -j, --json
-output in json format
+produce JSON output instead of tabular output
## fleet pin <slug> [releaseToPinTo]
@@ -2353,29 +2349,9 @@ Examples:
### Options
-#### --fields FIELDS
-
-only show provided fields (comma-separated)
-
#### -j, --json
-output in json format
-
-#### --filter FILTER
-
-filter results by substring matching of a given field, eg: --filter field=foo
-
-#### --no-header
-
-hide table header from output
-
-#### --no-truncate
-
-do not truncate output to fit screen
-
-#### --sort SORT
-
-field to sort by (prepend '-' for descending order)
+produce JSON output instead of tabular output
# Local
diff --git a/lib/framework/index.ts b/lib/framework/index.ts
deleted file mode 100644
index 24097f7b..00000000
--- a/lib/framework/index.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 Balena
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-import type { DataOutputOptions, DataSetOutputOptions } from './output';
-
-export { DataOutputOptions, DataSetOutputOptions };
diff --git a/lib/framework/output.ts b/lib/framework/output.ts
deleted file mode 100644
index ae0e5132..00000000
--- a/lib/framework/output.ts
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-Copyright 2020 Balena
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-import { getCliUx, getChalk } from '../utils/lazy';
-
-export interface DataOutputOptions {
- fields?: string;
- json?: boolean;
-}
-
-export interface DataSetOutputOptions extends DataOutputOptions {
- filter?: string;
- 'no-header'?: boolean;
- 'no-truncate'?: boolean;
- sort?: string;
-}
-
-/**
- * Output message to STDERR
- */
-export function outputMessage(msg: string) {
- // Messages go to STDERR
- console.error(msg);
-}
-
-/**
- * Output result data to STDOUT
- * Supports:
- * - arrays of items (displayed in a tabular way),
- * - single items (displayed in a field per row format).
- *
- * @param data Array of data objects to output
- * @param fields Array of fieldnames, specifying the fields and display order
- * @param options Output options
- */
-export async function outputData(
- data: any[] | object,
- fields: string[],
- options: DataOutputOptions | DataSetOutputOptions,
-) {
- if (Array.isArray(data)) {
- await outputDataSet(data, fields, options as DataSetOutputOptions);
- } else {
- await outputDataItem(data, fields, options as DataOutputOptions);
- }
-}
-
-/**
- * Wraps the cli.ux table implementation, to output tabular data
- *
- * @param data Array of data objects to output
- * @param fields Array of fieldnames, specifying the fields and display order
- * @param options Output options
- */
-async function outputDataSet(
- data: any[],
- fields: string[],
- options: DataSetOutputOptions,
-) {
- // Oclif expects fields to be specified in the format used in table headers (though lowercase)
- // By replacing underscores with spaces here, we can support both header format and actual field name
- // (e.g. as seen in json output).
- options.fields = options.fields?.replace(/_/g, ' ');
- options.filter = options.filter?.replace(/_/g, ' ');
- options.sort = options.sort?.replace(/_/g, ' ');
-
- getCliUx().table(
- data,
- // Convert fields array to column object keys
- // that cli.ux expects. We can later add support
- // for both formats if beneficial
- fields.reduce((ac, a) => ({ ...ac, [a]: {} }), {}),
- {
- ...options,
- ...(options.json
- ? {
- output: 'json',
- }
- : {}),
- columns: options.fields,
- printLine,
- },
- );
-}
-
-/**
- * Outputs a single data object (like `resin-cli-visuals table.vertical`),
- * but supporting a subset of options from `cli-ux table` (--json and --fields)
- *
- * @param data Array of data objects to output
- * @param fields Array of fieldnames, specifying the fields and display order
- * @param options Output options
- */
-async function outputDataItem(
- data: any,
- fields: string[],
- options: DataOutputOptions,
-) {
- const outData: typeof data = {};
-
- // Convert comma separated list of fields in `options.fields` to array of correct format.
- // Note, user may have specified the true field name (e.g. `some_field`),
- // or the format displayed in headers (e.g. `Some field`, case insensitive).
- const userSelectedFields = options.fields?.split(',').map((f) => {
- return f.toLowerCase().trim().replace(/ /g, '_');
- });
-
- // Order and filter the fields based on `fields` parameter and `options.fields`
- (userSelectedFields || fields).forEach((fieldName) => {
- if (fields.includes(fieldName)) {
- outData[fieldName] = data[fieldName];
- }
- });
-
- if (options.json) {
- printLine(JSON.stringify(outData, undefined, 2));
- } else {
- const chalk = getChalk();
- const { capitalize } = await import('lodash');
-
- // Find longest key, so we can align results
- const longestKeyLength = getLongestObjectKeyLength(outData);
-
- // Output one field per line
- for (const [k, v] of Object.entries(outData)) {
- const shim = ' '.repeat(longestKeyLength - k.length);
- const kDisplay = capitalize(k.replace(/_/g, ' '));
- printLine(`${chalk.bold(kDisplay) + shim} : ${v}`);
- }
- }
-}
-
-function getLongestObjectKeyLength(o: any): number {
- return Object.keys(o).length >= 1
- ? Object.keys(o).reduce((a, b) => {
- return a.length > b.length ? a : b;
- }).length
- : 0;
-}
-
-function printLine(s: any) {
- // Duplicating oclif cli-ux's default implementation here,
- // but using this one explicitly for ease of testing
- process.stdout.write(s + '\n');
-}
diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json
index 88fa40a9..d28f17aa 100644
--- a/npm-shrinkwrap.json
+++ b/npm-shrinkwrap.json
@@ -10,7 +10,7 @@
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "@balena/compose": "^3.2.1",
+ "@balena/compose": "^4.0.1",
"@balena/dockerignore": "^1.0.2",
"@balena/env-parsing": "^1.1.8",
"@balena/es-version": "^1.0.1",
@@ -267,21 +267,21 @@
}
},
"node_modules/@aws-sdk/client-cloudfront": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.614.0.tgz",
- "integrity": "sha512-intOtVdjMJyu/C1BdUgXIESPyTEhWE1irGl04+rwHz+TTHpdjqV5umdOFeerc2aGs4BV3c/XzzvKPOVVmMe/Ew==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.624.0.tgz",
+ "integrity": "sha512-QORmDtRjnhnZhKAQO8V2wVt/BN7CVli24CKfBd1SwTPS9evdjorzWlx+nFkzjpsgLAPpQbGnTC6AKDqTh8CRuw==",
"dev": true,
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/client-sso-oidc": "3.614.0",
- "@aws-sdk/client-sts": "3.614.0",
- "@aws-sdk/core": "3.614.0",
- "@aws-sdk/credential-provider-node": "3.614.0",
- "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/client-sso-oidc": "3.624.0",
+ "@aws-sdk/client-sts": "3.624.0",
+ "@aws-sdk/core": "3.624.0",
+ "@aws-sdk/credential-provider-node": "3.624.0",
+ "@aws-sdk/middleware-host-header": "3.620.0",
"@aws-sdk/middleware-logger": "3.609.0",
- "@aws-sdk/middleware-recursion-detection": "3.609.0",
- "@aws-sdk/middleware-user-agent": "3.614.0",
+ "@aws-sdk/middleware-recursion-detection": "3.620.0",
+ "@aws-sdk/middleware-user-agent": "3.620.0",
"@aws-sdk/region-config-resolver": "3.614.0",
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-endpoints": "3.614.0",
@@ -289,30 +289,30 @@
"@aws-sdk/util-user-agent-node": "3.614.0",
"@aws-sdk/xml-builder": "3.609.0",
"@smithy/config-resolver": "^3.0.5",
- "@smithy/core": "^2.2.6",
- "@smithy/fetch-http-handler": "^3.2.1",
+ "@smithy/core": "^2.3.2",
+ "@smithy/fetch-http-handler": "^3.2.4",
"@smithy/hash-node": "^3.0.3",
"@smithy/invalid-dependency": "^3.0.3",
- "@smithy/middleware-content-length": "^3.0.3",
- "@smithy/middleware-endpoint": "^3.0.5",
- "@smithy/middleware-retry": "^3.0.9",
+ "@smithy/middleware-content-length": "^3.0.5",
+ "@smithy/middleware-endpoint": "^3.1.0",
+ "@smithy/middleware-retry": "^3.0.14",
"@smithy/middleware-serde": "^3.0.3",
"@smithy/middleware-stack": "^3.0.3",
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/node-http-handler": "^3.1.2",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/node-http-handler": "^3.1.4",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/url-parser": "^3.0.3",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.9",
- "@smithy/util-defaults-mode-node": "^3.0.9",
+ "@smithy/util-defaults-mode-browser": "^3.0.14",
+ "@smithy/util-defaults-mode-node": "^3.0.14",
"@smithy/util-endpoints": "^2.0.5",
"@smithy/util-middleware": "^3.0.3",
"@smithy/util-retry": "^3.0.3",
- "@smithy/util-stream": "^3.0.6",
+ "@smithy/util-stream": "^3.1.3",
"@smithy/util-utf8": "^3.0.0",
"@smithy/util-waiter": "^3.1.2",
"tslib": "^2.6.2"
@@ -335,66 +335,66 @@
}
},
"node_modules/@aws-sdk/client-s3": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.614.0.tgz",
- "integrity": "sha512-9BlhfeBegvyjOqHtcr9kvrT80wiy7EVUiqYyTFiiDv/hJIcG88XHQCZdLU7658XBkQ7aFrr5b8rF2HRD1oroxw==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.624.0.tgz",
+ "integrity": "sha512-A18tgTKC4ZTAwV8i3pkyAL1XDLgH7WGS5hZA/0FOntI5l+icztGZFF8CdeYWEAFnZA7SfHK6vmtEbIQDOzTTAA==",
"dev": true,
"dependencies": {
"@aws-crypto/sha1-browser": "5.2.0",
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/client-sso-oidc": "3.614.0",
- "@aws-sdk/client-sts": "3.614.0",
- "@aws-sdk/core": "3.614.0",
- "@aws-sdk/credential-provider-node": "3.614.0",
- "@aws-sdk/middleware-bucket-endpoint": "3.614.0",
- "@aws-sdk/middleware-expect-continue": "3.609.0",
- "@aws-sdk/middleware-flexible-checksums": "3.614.0",
- "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/client-sso-oidc": "3.624.0",
+ "@aws-sdk/client-sts": "3.624.0",
+ "@aws-sdk/core": "3.624.0",
+ "@aws-sdk/credential-provider-node": "3.624.0",
+ "@aws-sdk/middleware-bucket-endpoint": "3.620.0",
+ "@aws-sdk/middleware-expect-continue": "3.620.0",
+ "@aws-sdk/middleware-flexible-checksums": "3.620.0",
+ "@aws-sdk/middleware-host-header": "3.620.0",
"@aws-sdk/middleware-location-constraint": "3.609.0",
"@aws-sdk/middleware-logger": "3.609.0",
- "@aws-sdk/middleware-recursion-detection": "3.609.0",
- "@aws-sdk/middleware-sdk-s3": "3.614.0",
- "@aws-sdk/middleware-signing": "3.609.0",
+ "@aws-sdk/middleware-recursion-detection": "3.620.0",
+ "@aws-sdk/middleware-sdk-s3": "3.624.0",
"@aws-sdk/middleware-ssec": "3.609.0",
- "@aws-sdk/middleware-user-agent": "3.614.0",
+ "@aws-sdk/middleware-user-agent": "3.620.0",
"@aws-sdk/region-config-resolver": "3.614.0",
- "@aws-sdk/signature-v4-multi-region": "3.614.0",
+ "@aws-sdk/signature-v4-multi-region": "3.624.0",
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-endpoints": "3.614.0",
"@aws-sdk/util-user-agent-browser": "3.609.0",
"@aws-sdk/util-user-agent-node": "3.614.0",
"@aws-sdk/xml-builder": "3.609.0",
"@smithy/config-resolver": "^3.0.5",
- "@smithy/core": "^2.2.6",
- "@smithy/eventstream-serde-browser": "^3.0.4",
+ "@smithy/core": "^2.3.2",
+ "@smithy/eventstream-serde-browser": "^3.0.5",
"@smithy/eventstream-serde-config-resolver": "^3.0.3",
"@smithy/eventstream-serde-node": "^3.0.4",
- "@smithy/fetch-http-handler": "^3.2.1",
+ "@smithy/fetch-http-handler": "^3.2.4",
"@smithy/hash-blob-browser": "^3.1.2",
"@smithy/hash-node": "^3.0.3",
"@smithy/hash-stream-node": "^3.1.2",
"@smithy/invalid-dependency": "^3.0.3",
"@smithy/md5-js": "^3.0.3",
- "@smithy/middleware-content-length": "^3.0.3",
- "@smithy/middleware-endpoint": "^3.0.5",
- "@smithy/middleware-retry": "^3.0.9",
+ "@smithy/middleware-content-length": "^3.0.5",
+ "@smithy/middleware-endpoint": "^3.1.0",
+ "@smithy/middleware-retry": "^3.0.14",
"@smithy/middleware-serde": "^3.0.3",
"@smithy/middleware-stack": "^3.0.3",
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/node-http-handler": "^3.1.2",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/node-http-handler": "^3.1.4",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/url-parser": "^3.0.3",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.9",
- "@smithy/util-defaults-mode-node": "^3.0.9",
+ "@smithy/util-defaults-mode-browser": "^3.0.14",
+ "@smithy/util-defaults-mode-node": "^3.0.14",
"@smithy/util-endpoints": "^2.0.5",
+ "@smithy/util-middleware": "^3.0.3",
"@smithy/util-retry": "^3.0.3",
- "@smithy/util-stream": "^3.0.6",
+ "@smithy/util-stream": "^3.1.3",
"@smithy/util-utf8": "^3.0.0",
"@smithy/util-waiter": "^3.1.2",
"tslib": "^2.6.2"
@@ -417,43 +417,43 @@
}
},
"node_modules/@aws-sdk/client-sso": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.614.0.tgz",
- "integrity": "sha512-p5pyYaxRzBttjBkqfc8i3K7DzBdTg3ECdVgBo6INIUxfvDy0J8QUE8vNtCgvFIkq+uPw/8M+Eo4zzln7anuO0Q==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.624.0.tgz",
+ "integrity": "sha512-EX6EF+rJzMPC5dcdsu40xSi2To7GSvdGQNIpe97pD9WvZwM9tRNQnNM4T6HA4gjV1L6Jwk8rBlG/CnveXtLEMw==",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.614.0",
- "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/core": "3.624.0",
+ "@aws-sdk/middleware-host-header": "3.620.0",
"@aws-sdk/middleware-logger": "3.609.0",
- "@aws-sdk/middleware-recursion-detection": "3.609.0",
- "@aws-sdk/middleware-user-agent": "3.614.0",
+ "@aws-sdk/middleware-recursion-detection": "3.620.0",
+ "@aws-sdk/middleware-user-agent": "3.620.0",
"@aws-sdk/region-config-resolver": "3.614.0",
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-endpoints": "3.614.0",
"@aws-sdk/util-user-agent-browser": "3.609.0",
"@aws-sdk/util-user-agent-node": "3.614.0",
"@smithy/config-resolver": "^3.0.5",
- "@smithy/core": "^2.2.6",
- "@smithy/fetch-http-handler": "^3.2.1",
+ "@smithy/core": "^2.3.2",
+ "@smithy/fetch-http-handler": "^3.2.4",
"@smithy/hash-node": "^3.0.3",
"@smithy/invalid-dependency": "^3.0.3",
- "@smithy/middleware-content-length": "^3.0.3",
- "@smithy/middleware-endpoint": "^3.0.5",
- "@smithy/middleware-retry": "^3.0.9",
+ "@smithy/middleware-content-length": "^3.0.5",
+ "@smithy/middleware-endpoint": "^3.1.0",
+ "@smithy/middleware-retry": "^3.0.14",
"@smithy/middleware-serde": "^3.0.3",
"@smithy/middleware-stack": "^3.0.3",
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/node-http-handler": "^3.1.2",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/node-http-handler": "^3.1.4",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/url-parser": "^3.0.3",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.9",
- "@smithy/util-defaults-mode-node": "^3.0.9",
+ "@smithy/util-defaults-mode-browser": "^3.0.14",
+ "@smithy/util-defaults-mode-node": "^3.0.14",
"@smithy/util-endpoints": "^2.0.5",
"@smithy/util-middleware": "^3.0.3",
"@smithy/util-retry": "^3.0.3",
@@ -465,44 +465,44 @@
}
},
"node_modules/@aws-sdk/client-sso-oidc": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.614.0.tgz",
- "integrity": "sha512-BI1NWcpppbHg/28zbUg54dZeckork8BItZIcjls12vxasy+p3iEzrJVG60jcbUTTsk3Qc1tyxNfrdcVqx0y7Ww==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.624.0.tgz",
+ "integrity": "sha512-Ki2uKYJKKtfHxxZsiMTOvJoVRP6b2pZ1u3rcUb2m/nVgBPUfLdl8ZkGpqE29I+t5/QaS/sEdbn6cgMUZwl+3Dg==",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.614.0",
- "@aws-sdk/credential-provider-node": "3.614.0",
- "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/core": "3.624.0",
+ "@aws-sdk/credential-provider-node": "3.624.0",
+ "@aws-sdk/middleware-host-header": "3.620.0",
"@aws-sdk/middleware-logger": "3.609.0",
- "@aws-sdk/middleware-recursion-detection": "3.609.0",
- "@aws-sdk/middleware-user-agent": "3.614.0",
+ "@aws-sdk/middleware-recursion-detection": "3.620.0",
+ "@aws-sdk/middleware-user-agent": "3.620.0",
"@aws-sdk/region-config-resolver": "3.614.0",
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-endpoints": "3.614.0",
"@aws-sdk/util-user-agent-browser": "3.609.0",
"@aws-sdk/util-user-agent-node": "3.614.0",
"@smithy/config-resolver": "^3.0.5",
- "@smithy/core": "^2.2.6",
- "@smithy/fetch-http-handler": "^3.2.1",
+ "@smithy/core": "^2.3.2",
+ "@smithy/fetch-http-handler": "^3.2.4",
"@smithy/hash-node": "^3.0.3",
"@smithy/invalid-dependency": "^3.0.3",
- "@smithy/middleware-content-length": "^3.0.3",
- "@smithy/middleware-endpoint": "^3.0.5",
- "@smithy/middleware-retry": "^3.0.9",
+ "@smithy/middleware-content-length": "^3.0.5",
+ "@smithy/middleware-endpoint": "^3.1.0",
+ "@smithy/middleware-retry": "^3.0.14",
"@smithy/middleware-serde": "^3.0.3",
"@smithy/middleware-stack": "^3.0.3",
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/node-http-handler": "^3.1.2",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/node-http-handler": "^3.1.4",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/url-parser": "^3.0.3",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.9",
- "@smithy/util-defaults-mode-node": "^3.0.9",
+ "@smithy/util-defaults-mode-browser": "^3.0.14",
+ "@smithy/util-defaults-mode-node": "^3.0.14",
"@smithy/util-endpoints": "^2.0.5",
"@smithy/util-middleware": "^3.0.3",
"@smithy/util-retry": "^3.0.3",
@@ -513,7 +513,7 @@
"node": ">=16.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-sts": "^3.614.0"
+ "@aws-sdk/client-sts": "^3.624.0"
}
},
"node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-utf8": {
@@ -541,45 +541,45 @@
}
},
"node_modules/@aws-sdk/client-sts": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.614.0.tgz",
- "integrity": "sha512-i6QmaVA1KHHYNnI2VYQy/sc31rLm4+jSp8b/YbQpFnD0w3aXsrEEHHlxek45uSkHb4Nrj1omFBVy/xp1WVYx2Q==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.624.0.tgz",
+ "integrity": "sha512-k36fLZCb2nfoV/DKK3jbRgO/Yf7/R80pgYfMiotkGjnZwDmRvNN08z4l06L9C+CieazzkgRxNUzyppsYcYsQaw==",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/client-sso-oidc": "3.614.0",
- "@aws-sdk/core": "3.614.0",
- "@aws-sdk/credential-provider-node": "3.614.0",
- "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/client-sso-oidc": "3.624.0",
+ "@aws-sdk/core": "3.624.0",
+ "@aws-sdk/credential-provider-node": "3.624.0",
+ "@aws-sdk/middleware-host-header": "3.620.0",
"@aws-sdk/middleware-logger": "3.609.0",
- "@aws-sdk/middleware-recursion-detection": "3.609.0",
- "@aws-sdk/middleware-user-agent": "3.614.0",
+ "@aws-sdk/middleware-recursion-detection": "3.620.0",
+ "@aws-sdk/middleware-user-agent": "3.620.0",
"@aws-sdk/region-config-resolver": "3.614.0",
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-endpoints": "3.614.0",
"@aws-sdk/util-user-agent-browser": "3.609.0",
"@aws-sdk/util-user-agent-node": "3.614.0",
"@smithy/config-resolver": "^3.0.5",
- "@smithy/core": "^2.2.6",
- "@smithy/fetch-http-handler": "^3.2.1",
+ "@smithy/core": "^2.3.2",
+ "@smithy/fetch-http-handler": "^3.2.4",
"@smithy/hash-node": "^3.0.3",
"@smithy/invalid-dependency": "^3.0.3",
- "@smithy/middleware-content-length": "^3.0.3",
- "@smithy/middleware-endpoint": "^3.0.5",
- "@smithy/middleware-retry": "^3.0.9",
+ "@smithy/middleware-content-length": "^3.0.5",
+ "@smithy/middleware-endpoint": "^3.1.0",
+ "@smithy/middleware-retry": "^3.0.14",
"@smithy/middleware-serde": "^3.0.3",
"@smithy/middleware-stack": "^3.0.3",
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/node-http-handler": "^3.1.2",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/node-http-handler": "^3.1.4",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/url-parser": "^3.0.3",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.9",
- "@smithy/util-defaults-mode-node": "^3.0.9",
+ "@smithy/util-defaults-mode-browser": "^3.0.14",
+ "@smithy/util-defaults-mode-node": "^3.0.14",
"@smithy/util-endpoints": "^2.0.5",
"@smithy/util-middleware": "^3.0.3",
"@smithy/util-retry": "^3.0.3",
@@ -603,16 +603,18 @@
}
},
"node_modules/@aws-sdk/core": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.614.0.tgz",
- "integrity": "sha512-BUuS5/1YkgmKc4J0bg83XEtMyDHVyqG2QDzfmhYe8gbOIZabUl1FlrFVwhCAthtrrI6MPGTQcERB4BtJKUSplw==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.624.0.tgz",
+ "integrity": "sha512-WyFmPbhRIvtWi7hBp8uSFy+iPpj8ccNV/eX86hwF4irMjfc/FtsGVIAeBXxXM/vGCjkdfEzOnl+tJ2XACD4OXg==",
"dependencies": {
- "@smithy/core": "^2.2.6",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/signature-v4": "^3.1.2",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/core": "^2.3.2",
+ "@smithy/node-config-provider": "^3.1.4",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/signature-v4": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
- "fast-xml-parser": "4.2.5",
+ "@smithy/util-middleware": "^3.0.3",
+ "fast-xml-parser": "4.4.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -620,9 +622,9 @@
}
},
"node_modules/@aws-sdk/credential-provider-env": {
- "version": "3.609.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.609.0.tgz",
- "integrity": "sha512-v69ZCWcec2iuV9vLVJMa6fAb5xwkzN4jYIT8yjo2c4Ia/j976Q+TPf35Pnz5My48Xr94EFcaBazrWedF+kwfuQ==",
+ "version": "3.620.1",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz",
+ "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==",
"dependencies": {
"@aws-sdk/types": "3.609.0",
"@smithy/property-provider": "^3.1.3",
@@ -634,18 +636,18 @@
}
},
"node_modules/@aws-sdk/credential-provider-http": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.614.0.tgz",
- "integrity": "sha512-YIEjlNUKb3Vo/iTnGAPdsiDC3FUUnNoex2OwU8LmR7AkYZiWdB8nx99DfgkkY+OFMUpw7nKD2PCOtuFONelfGA==",
+ "version": "3.622.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.622.0.tgz",
+ "integrity": "sha512-VUHbr24Oll1RK3WR8XLUugLpgK9ZuxEm/NVeVqyFts1Ck9gsKpRg1x4eH7L7tW3SJ4TDEQNMbD7/7J+eoL2svg==",
"dependencies": {
"@aws-sdk/types": "3.609.0",
- "@smithy/fetch-http-handler": "^3.2.1",
- "@smithy/node-http-handler": "^3.1.2",
+ "@smithy/fetch-http-handler": "^3.2.4",
+ "@smithy/node-http-handler": "^3.1.4",
"@smithy/property-provider": "^3.1.3",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
- "@smithy/util-stream": "^3.0.6",
+ "@smithy/util-stream": "^3.1.3",
"tslib": "^2.6.2"
},
"engines": {
@@ -653,17 +655,17 @@
}
},
"node_modules/@aws-sdk/credential-provider-ini": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.614.0.tgz",
- "integrity": "sha512-KfLuLFGwlvFSZ2MuzYwWGPb1y5TeiwX5okIDe0aQ1h10oD3924FXbN+mabOnUHQ8EFcGAtCaWbrC86mI7ktC6A==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.624.0.tgz",
+ "integrity": "sha512-mMoNIy7MO2WTBbdqMyLpbt6SZpthE6e0GkRYpsd0yozPt0RZopcBhEh+HG1U9Y1PVODo+jcMk353vAi61CfnhQ==",
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.609.0",
- "@aws-sdk/credential-provider-http": "3.614.0",
- "@aws-sdk/credential-provider-process": "3.614.0",
- "@aws-sdk/credential-provider-sso": "3.614.0",
- "@aws-sdk/credential-provider-web-identity": "3.609.0",
+ "@aws-sdk/credential-provider-env": "3.620.1",
+ "@aws-sdk/credential-provider-http": "3.622.0",
+ "@aws-sdk/credential-provider-process": "3.620.1",
+ "@aws-sdk/credential-provider-sso": "3.624.0",
+ "@aws-sdk/credential-provider-web-identity": "3.621.0",
"@aws-sdk/types": "3.609.0",
- "@smithy/credential-provider-imds": "^3.1.4",
+ "@smithy/credential-provider-imds": "^3.2.0",
"@smithy/property-provider": "^3.1.3",
"@smithy/shared-ini-file-loader": "^3.1.4",
"@smithy/types": "^3.3.0",
@@ -673,22 +675,22 @@
"node": ">=16.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-sts": "^3.614.0"
+ "@aws-sdk/client-sts": "^3.624.0"
}
},
"node_modules/@aws-sdk/credential-provider-node": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.614.0.tgz",
- "integrity": "sha512-4J6gPEuFZP0mkWq5E//oMS1vrmMM88iNNcv7TEljYnsc6JTAlKejCyFwx6CN+nkIhmIZsl06SXIhBemzBdBPfg==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.624.0.tgz",
+ "integrity": "sha512-vYyGK7oNpd81BdbH5IlmQ6zfaQqU+rPwsKTDDBeLRjshtrGXOEpfoahVpG9PX0ibu32IOWp4ZyXBNyVrnvcMOw==",
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.609.0",
- "@aws-sdk/credential-provider-http": "3.614.0",
- "@aws-sdk/credential-provider-ini": "3.614.0",
- "@aws-sdk/credential-provider-process": "3.614.0",
- "@aws-sdk/credential-provider-sso": "3.614.0",
- "@aws-sdk/credential-provider-web-identity": "3.609.0",
+ "@aws-sdk/credential-provider-env": "3.620.1",
+ "@aws-sdk/credential-provider-http": "3.622.0",
+ "@aws-sdk/credential-provider-ini": "3.624.0",
+ "@aws-sdk/credential-provider-process": "3.620.1",
+ "@aws-sdk/credential-provider-sso": "3.624.0",
+ "@aws-sdk/credential-provider-web-identity": "3.621.0",
"@aws-sdk/types": "3.609.0",
- "@smithy/credential-provider-imds": "^3.1.4",
+ "@smithy/credential-provider-imds": "^3.2.0",
"@smithy/property-provider": "^3.1.3",
"@smithy/shared-ini-file-loader": "^3.1.4",
"@smithy/types": "^3.3.0",
@@ -699,9 +701,9 @@
}
},
"node_modules/@aws-sdk/credential-provider-process": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.614.0.tgz",
- "integrity": "sha512-Q0SI0sTRwi8iNODLs5+bbv8vgz8Qy2QdxbCHnPk/6Cx6LMf7i3dqmWquFbspqFRd8QiqxStrblwxrUYZi09tkA==",
+ "version": "3.620.1",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz",
+ "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==",
"dependencies": {
"@aws-sdk/types": "3.609.0",
"@smithy/property-provider": "^3.1.3",
@@ -714,11 +716,11 @@
}
},
"node_modules/@aws-sdk/credential-provider-sso": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.614.0.tgz",
- "integrity": "sha512-55+gp0JY4451cWI1qXmVMFM0GQaBKiQpXv2P0xmd9P3qLDyeFUSEW8XPh0d2lb1ICr6x4s47ynXVdGCIv2mXMg==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.624.0.tgz",
+ "integrity": "sha512-A02bayIjU9APEPKr3HudrFHEx0WfghoSPsPopckDkW7VBqO4wizzcxr75Q9A3vNX+cwg0wCN6UitTNe6pVlRaQ==",
"dependencies": {
- "@aws-sdk/client-sso": "3.614.0",
+ "@aws-sdk/client-sso": "3.624.0",
"@aws-sdk/token-providers": "3.614.0",
"@aws-sdk/types": "3.609.0",
"@smithy/property-provider": "^3.1.3",
@@ -731,9 +733,9 @@
}
},
"node_modules/@aws-sdk/credential-provider-web-identity": {
- "version": "3.609.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.609.0.tgz",
- "integrity": "sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==",
+ "version": "3.621.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz",
+ "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==",
"dependencies": {
"@aws-sdk/types": "3.609.0",
"@smithy/property-provider": "^3.1.3",
@@ -744,19 +746,19 @@
"node": ">=16.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-sts": "^3.609.0"
+ "@aws-sdk/client-sts": "^3.621.0"
}
},
"node_modules/@aws-sdk/middleware-bucket-endpoint": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.614.0.tgz",
- "integrity": "sha512-TqEY8KcZeZ0LIxXaqG9RSSNnDHvD8RAFP4Xenwsxqnyad0Yn7LgCoFwRByelJ0t54ROYL1/ETJleWE4U4TOXdg==",
+ "version": "3.620.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz",
+ "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==",
"dev": true,
"dependencies": {
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-arn-parser": "3.568.0",
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"@smithy/util-config-provider": "^3.0.0",
"tslib": "^2.6.2"
@@ -766,13 +768,13 @@
}
},
"node_modules/@aws-sdk/middleware-expect-continue": {
- "version": "3.609.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.609.0.tgz",
- "integrity": "sha512-+zeg//mSer4JZRxOB/4mUOMUJyuYPwATnIC5moBB8P8Xe+mJaVRFy8qlCtzYNj2TycnlsBPzTK0j7P1yvDh97w==",
+ "version": "3.620.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz",
+ "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==",
"dev": true,
"dependencies": {
"@aws-sdk/types": "3.609.0",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
@@ -781,16 +783,16 @@
}
},
"node_modules/@aws-sdk/middleware-flexible-checksums": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.614.0.tgz",
- "integrity": "sha512-ZLpxVXMboDeMT7p2Kdp5m1uLVKOktkZoMgLvvbe3zbrU4Ji5IU5xVE0aa4X7H28BtuODCs6SLESnPs19bhMKlA==",
+ "version": "3.620.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz",
+ "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==",
"dev": true,
"dependencies": {
"@aws-crypto/crc32": "5.2.0",
"@aws-crypto/crc32c": "5.2.0",
"@aws-sdk/types": "3.609.0",
"@smithy/is-array-buffer": "^3.0.0",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"@smithy/util-utf8": "^3.0.0",
"tslib": "^2.6.2"
@@ -813,12 +815,12 @@
}
},
"node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.609.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.609.0.tgz",
- "integrity": "sha512-iTKfo158lc4jLDfYeZmYMIBHsn8m6zX+XB6birCSNZ/rrlzAkPbGE43CNdKfvjyWdqgLMRXF+B+OcZRvqhMXPQ==",
+ "version": "3.620.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz",
+ "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==",
"dependencies": {
"@aws-sdk/types": "3.609.0",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
@@ -854,12 +856,12 @@
}
},
"node_modules/@aws-sdk/middleware-recursion-detection": {
- "version": "3.609.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.609.0.tgz",
- "integrity": "sha512-6sewsYB7/o/nbUfA99Aa/LokM+a/u4Wpm/X2o0RxOsDtSB795ObebLJe2BxY5UssbGaWkn7LswyfvrdZNXNj1w==",
+ "version": "3.620.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz",
+ "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==",
"dependencies": {
"@aws-sdk/types": "3.609.0",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
@@ -868,37 +870,37 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-s3": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.614.0.tgz",
- "integrity": "sha512-9fJTaiuuOfFV4FqmUEhPYzrtv7JOfYpB7q65oG3uayVH4ngWHIJkjnnX79zRhNZKdPGta+XIsnZzjEghg82ngA==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.624.0.tgz",
+ "integrity": "sha512-HUiaZ6+JXcG0qQda10ZxDGJvbT71YUp1zX+oikIsfTUeq0N75O82OY3Noqd7cyjEVtsGSo/y0e6U3aV1hO+wPw==",
"dev": true,
"dependencies": {
+ "@aws-sdk/core": "3.624.0",
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-arn-parser": "3.568.0",
+ "@smithy/core": "^2.3.2",
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/signature-v4": "^3.1.2",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/signature-v4": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/util-config-provider": "^3.0.0",
+ "@smithy/util-middleware": "^3.0.3",
+ "@smithy/util-stream": "^3.1.3",
+ "@smithy/util-utf8": "^3.0.0",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/middleware-signing": {
- "version": "3.609.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.609.0.tgz",
- "integrity": "sha512-2w3dBLjQVKIajYzokO4hduq8/0hSMUYHHmIo1Kdl+MSY8uwRBt12bLL6pyreobTcRMxizvn2ph/CQ9I1ST/WGQ==",
+ "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz",
+ "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==",
"dev": true,
"dependencies": {
- "@aws-sdk/types": "3.609.0",
- "@smithy/property-provider": "^3.1.3",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/signature-v4": "^3.1.2",
- "@smithy/types": "^3.3.0",
- "@smithy/util-middleware": "^3.0.3",
+ "@smithy/util-buffer-from": "^3.0.0",
"tslib": "^2.6.2"
},
"engines": {
@@ -920,13 +922,13 @@
}
},
"node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.614.0.tgz",
- "integrity": "sha512-xUxh0UPQiMTG6E31Yvu6zVYlikrIcFDKljM11CaatInzvZubGTGiX0DjpqRlfGzUNsuPc/zNrKwRP2+wypgqIw==",
+ "version": "3.620.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz",
+ "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==",
"dependencies": {
"@aws-sdk/types": "3.609.0",
"@aws-sdk/util-endpoints": "3.614.0",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
@@ -951,15 +953,15 @@
}
},
"node_modules/@aws-sdk/signature-v4-multi-region": {
- "version": "3.614.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.614.0.tgz",
- "integrity": "sha512-6mW3ONW4oLzxrePznYhz7sNT9ji9Am9ufLeV722tbOVS5lArBOZ6E1oPz0uYBhisUPznWKhcLRMggt7vIJWMng==",
+ "version": "3.624.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.624.0.tgz",
+ "integrity": "sha512-gu1SfCyUPnq4s0AI1xdAl0whHwhkTyltg4QZWc4vnZvEVudCpJVVxEcroUHYQIO51YyVUT9jSMS1SVRe5VqPEw==",
"dev": true,
"dependencies": {
- "@aws-sdk/middleware-sdk-s3": "3.614.0",
+ "@aws-sdk/middleware-sdk-s3": "3.624.0",
"@aws-sdk/types": "3.609.0",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/signature-v4": "^3.1.2",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/signature-v4": "^4.1.0",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
@@ -1270,10 +1272,13 @@
"dev": true
},
"node_modules/@babel/parser": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz",
- "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==",
+ "version": "7.25.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz",
+ "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==",
"dev": true,
+ "dependencies": {
+ "@babel/types": "^7.25.4"
+ },
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -1281,6 +1286,20 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@babel/parser/node_modules/@babel/types": {
+ "version": "7.25.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz",
+ "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.8",
+ "@babel/helper-validator-identifier": "^7.24.7",
+ "to-fast-properties": "^2.0.0"
+ },
+ "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",
@@ -1296,9 +1315,9 @@
}
},
"node_modules/@babel/template/node_modules/@babel/types": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz",
- "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==",
+ "version": "7.25.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz",
+ "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.24.8",
@@ -1331,12 +1350,12 @@
}
},
"node_modules/@babel/traverse/node_modules/@babel/generator": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz",
- "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==",
+ "version": "7.25.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.4.tgz",
+ "integrity": "sha512-NFtZmZsyzDPJnk9Zg3BbTfKKc9UlHYzD0E//p2Z3B9nCwwtJW9T0gVbCz8+fBngnn4zf1Dr3IK8PHQQHq0lDQw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.25.0",
+ "@babel/types": "^7.25.4",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^2.5.1"
@@ -1346,9 +1365,9 @@
}
},
"node_modules/@babel/traverse/node_modules/@babel/types": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz",
- "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==",
+ "version": "7.25.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz",
+ "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.24.8",
@@ -1385,9 +1404,9 @@
}
},
"node_modules/@balena/compose": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/@balena/compose/-/compose-3.2.1.tgz",
- "integrity": "sha512-5p8UdOsXSRDqKQm2tYE5oV4jBqUoAC9xmbwL05aJycu2KDHDPy/lbo0LZy1lB7hQZSxPmAyG+3/bFz112wMesQ==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@balena/compose/-/compose-4.0.1.tgz",
+ "integrity": "sha512-yUaML0V58nl7/3xbCJ5eDJyGMWL8H+iPHD6Fc4GkLco5kFMiySkvlGy7+7cJoBa/p2+7GggQO0vCaOKpI7+GJQ==",
"dependencies": {
"ajv": "^6.12.3",
"docker-file-parser": "^1.0.7",
@@ -1408,9 +1427,7 @@
"memoizee": "^0.4.15",
"mz": "^2.7.0",
"p-map": "^4.0.0",
- "pinejs-client-core": "^6.13.0",
- "pinejs-client-request": "^7.3.5",
- "request": "^2.88.2",
+ "pinejs-client-core": "^6.14.13",
"semver": "^7.3.5",
"stream-to-promise": "^3.0.0",
"tar-stream": "^3.1.6",
@@ -1418,7 +1435,7 @@
"typed-error": "^3.2.1"
},
"engines": {
- "node": ">=16.13.0"
+ "node": ">=20.6.0"
}
},
"node_modules/@balena/compose/node_modules/event-stream": {
@@ -2414,9 +2431,9 @@
}
},
"node_modules/@oclif/plugin-help/node_modules/@oclif/core": {
- "version": "4.0.17",
- "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.17.tgz",
- "integrity": "sha512-zfdSRip9DVMOklMojWCLZEB4iOzy7LDTABCDzCXqmpZGS+o1e1xts4jGhnte3mi0WV0YthNfYqF16tqk6CWITA==",
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.18.tgz",
+ "integrity": "sha512-3EP4zJ+1ndc92UxdNmGX4HhFK5Xh94fWvUeOW1Tu/Ed+/jAljIsbmZyjVhDoE0vV5cftT+3QaVB/LFxaXxty/w==",
"dev": true,
"dependencies": {
"ansi-escapes": "^4.3.2",
@@ -2532,9 +2549,9 @@
}
},
"node_modules/@oclif/plugin-not-found/node_modules/@oclif/core": {
- "version": "4.0.17",
- "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.17.tgz",
- "integrity": "sha512-zfdSRip9DVMOklMojWCLZEB4iOzy7LDTABCDzCXqmpZGS+o1e1xts4jGhnte3mi0WV0YthNfYqF16tqk6CWITA==",
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.18.tgz",
+ "integrity": "sha512-3EP4zJ+1ndc92UxdNmGX4HhFK5Xh94fWvUeOW1Tu/Ed+/jAljIsbmZyjVhDoE0vV5cftT+3QaVB/LFxaXxty/w==",
"dev": true,
"dependencies": {
"ansi-escapes": "^4.3.2",
@@ -2651,9 +2668,9 @@
}
},
"node_modules/@oclif/plugin-warn-if-update-available/node_modules/@oclif/core": {
- "version": "4.0.17",
- "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.17.tgz",
- "integrity": "sha512-zfdSRip9DVMOklMojWCLZEB4iOzy7LDTABCDzCXqmpZGS+o1e1xts4jGhnte3mi0WV0YthNfYqF16tqk6CWITA==",
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.18.tgz",
+ "integrity": "sha512-3EP4zJ+1ndc92UxdNmGX4HhFK5Xh94fWvUeOW1Tu/Ed+/jAljIsbmZyjVhDoE0vV5cftT+3QaVB/LFxaXxty/w==",
"dev": true,
"dependencies": {
"ansi-escapes": "^4.3.2",
@@ -3157,15 +3174,15 @@
}
},
"node_modules/@smithy/core": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.6.tgz",
- "integrity": "sha512-tBbVIv/ui7/lLTKayYJJvi8JLVL2SwOQTbNFEOrvzSE3ktByvsa1erwBOnAMo8N5Vu30g7lN4lLStrU75oDGuw==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.2.tgz",
+ "integrity": "sha512-in5wwt6chDBcUv1Lw1+QzZxN9fBffi+qOixfb65yK4sDuKG7zAUO9HAFqmVzsZM3N+3tTyvZjtnDXePpvp007Q==",
"dependencies": {
- "@smithy/middleware-endpoint": "^3.0.5",
- "@smithy/middleware-retry": "^3.0.9",
+ "@smithy/middleware-endpoint": "^3.1.0",
+ "@smithy/middleware-retry": "^3.0.14",
"@smithy/middleware-serde": "^3.0.3",
- "@smithy/protocol-http": "^4.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/protocol-http": "^4.1.0",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/util-middleware": "^3.0.3",
"tslib": "^2.6.2"
@@ -3175,9 +3192,9 @@
}
},
"node_modules/@smithy/credential-provider-imds": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.4.tgz",
- "integrity": "sha512-NKyH01m97Xa5xf3pB2QOF3lnuE8RIK0hTVNU5zvZAwZU8uspYO4DHQVlK+Y5gwSrujTfHvbfd1D9UFJAc0iYKQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz",
+ "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==",
"dependencies": {
"@smithy/node-config-provider": "^3.1.4",
"@smithy/property-provider": "^3.1.3",
@@ -3202,9 +3219,9 @@
}
},
"node_modules/@smithy/eventstream-serde-browser": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.4.tgz",
- "integrity": "sha512-Eo4anLZX6ltGJTZ5yJMc80gZPYYwBn44g0h7oFq6et+TYr5dUsTpIcDbz2evsOKIZhZ7zBoFWHtBXQ4QQeb5xA==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz",
+ "integrity": "sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ==",
"dev": true,
"dependencies": {
"@smithy/eventstream-serde-universal": "^3.0.4",
@@ -3257,11 +3274,11 @@
}
},
"node_modules/@smithy/fetch-http-handler": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.1.tgz",
- "integrity": "sha512-0w0bgUvZmfa0vHN8a+moByhCJT07WN6AHKEhFSOLsDpnszm+5dLVv5utGaqbhOrZ/aF5x3xuPMs/oMCd+4O5xg==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz",
+ "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==",
"dependencies": {
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/querystring-builder": "^3.0.3",
"@smithy/types": "^3.3.0",
"@smithy/util-base64": "^3.0.0",
@@ -3378,11 +3395,11 @@
}
},
"node_modules/@smithy/middleware-content-length": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.3.tgz",
- "integrity": "sha512-Dbz2bzexReYIQDWMr+gZhpwBetNXzbhnEMhYKA6urqmojO14CsXjnsoPYO8UL/xxcawn8ZsuVU61ElkLSltIUQ==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz",
+ "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==",
"dependencies": {
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
@@ -3391,9 +3408,9 @@
}
},
"node_modules/@smithy/middleware-endpoint": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.5.tgz",
- "integrity": "sha512-V4acqqrh5tDxUEGVTOgf2lYMZqPQsoGntCrjrJZEeBzEzDry2d2vcI1QCXhGltXPPY+BMc6eksZMguA9fIY8vA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz",
+ "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==",
"dependencies": {
"@smithy/middleware-serde": "^3.0.3",
"@smithy/node-config-provider": "^3.1.4",
@@ -3408,14 +3425,14 @@
}
},
"node_modules/@smithy/middleware-retry": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.9.tgz",
- "integrity": "sha512-Mrv9omExU1gA7Y0VEJG2LieGfPYtwwcEiOnVGZ54a37NEMr66TJ0glFslOJFuKWG6izg5DpKIUmDV9rRxjm47Q==",
+ "version": "3.0.14",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.14.tgz",
+ "integrity": "sha512-7ZaWZJOjUxa5hgmuMspyt8v/zVsh0GXYuF7OvCmdcbVa/xbnKQoYC+uYKunAqRGTkxjOyuOCw9rmFUFOqqC0eQ==",
"dependencies": {
"@smithy/node-config-provider": "^3.1.4",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/service-error-classification": "^3.0.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"@smithy/util-middleware": "^3.0.3",
"@smithy/util-retry": "^3.0.3",
@@ -3465,12 +3482,12 @@
}
},
"node_modules/@smithy/node-http-handler": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.2.tgz",
- "integrity": "sha512-Td3rUNI7qqtoSLTsJBtsyfoG4cF/XMFmJr6Z2dX8QNzIi6tIW6YmuyFml8mJ2cNpyWNqITKbROMOFrvQjmsOvw==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz",
+ "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==",
"dependencies": {
"@smithy/abort-controller": "^3.1.1",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/querystring-builder": "^3.0.3",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
@@ -3492,9 +3509,9 @@
}
},
"node_modules/@smithy/protocol-http": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.3.tgz",
- "integrity": "sha512-x5jmrCWwQlx+Zv4jAtc33ijJ+vqqYN+c/ZkrnpvEe/uDas7AT7A/4Rc2CdfxgWv4WFGmEqODIrrUToPN6DDkGw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz",
+ "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==",
"dependencies": {
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
@@ -3552,11 +3569,12 @@
}
},
"node_modules/@smithy/signature-v4": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-3.1.2.tgz",
- "integrity": "sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz",
+ "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==",
"dependencies": {
"@smithy/is-array-buffer": "^3.0.0",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
"@smithy/util-hex-encoding": "^3.0.0",
"@smithy/util-middleware": "^3.0.3",
@@ -3581,15 +3599,15 @@
}
},
"node_modules/@smithy/smithy-client": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.7.tgz",
- "integrity": "sha512-nZbJZB0XI3YnaFBWGDBr7kjaew6O0oNYNmopyIz6gKZEbxzrtH7rwvU1GcVxcSFoOwWecLJEe79fxEMljHopFQ==",
+ "version": "3.1.12",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz",
+ "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==",
"dependencies": {
- "@smithy/middleware-endpoint": "^3.0.5",
+ "@smithy/middleware-endpoint": "^3.1.0",
"@smithy/middleware-stack": "^3.0.3",
- "@smithy/protocol-http": "^4.0.3",
+ "@smithy/protocol-http": "^4.1.0",
"@smithy/types": "^3.3.0",
- "@smithy/util-stream": "^3.0.6",
+ "@smithy/util-stream": "^3.1.3",
"tslib": "^2.6.2"
},
"engines": {
@@ -3685,12 +3703,12 @@
}
},
"node_modules/@smithy/util-defaults-mode-browser": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.9.tgz",
- "integrity": "sha512-WKPcElz92MAQG09miBdb0GxEH/MwD5GfE8g07WokITq5g6J1ROQfYCKC1wNnkqAGfrSywT7L0rdvvqlBplqiyA==",
+ "version": "3.0.14",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.14.tgz",
+ "integrity": "sha512-0iwTgKKmAIf+vFLV8fji21Jb2px11ktKVxbX6LIDPAUJyWQqGqBVfwba7xwa1f2FZUoolYQgLvxQEpJycXuQ5w==",
"dependencies": {
"@smithy/property-provider": "^3.1.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"bowser": "^2.11.0",
"tslib": "^2.6.2"
@@ -3700,15 +3718,15 @@
}
},
"node_modules/@smithy/util-defaults-mode-node": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.9.tgz",
- "integrity": "sha512-dQLrUqFxqpf0GvEKEuFdgXcdZwz6oFm752h4d6C7lQz+RLddf761L2r7dSwGWzESMMB3wKj0jL+skRhEGlecjw==",
+ "version": "3.0.14",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.14.tgz",
+ "integrity": "sha512-e9uQarJKfXApkTMMruIdxHprhcXivH1flYCe8JRDTzkkLx8dA3V5J8GZlST9yfDiRWkJpZJlUXGN9Rc9Ade3OQ==",
"dependencies": {
"@smithy/config-resolver": "^3.0.5",
- "@smithy/credential-provider-imds": "^3.1.4",
+ "@smithy/credential-provider-imds": "^3.2.0",
"@smithy/node-config-provider": "^3.1.4",
"@smithy/property-provider": "^3.1.3",
- "@smithy/smithy-client": "^3.1.7",
+ "@smithy/smithy-client": "^3.1.12",
"@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
@@ -3766,12 +3784,12 @@
}
},
"node_modules/@smithy/util-stream": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.0.6.tgz",
- "integrity": "sha512-w9i//7egejAIvplX821rPWWgaiY1dxsQUw0hXX7qwa/uZ9U3zplqTQ871jWadkcVB9gFDhkPWYVZf4yfFbZ0xA==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz",
+ "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==",
"dependencies": {
- "@smithy/fetch-http-handler": "^3.2.1",
- "@smithy/node-http-handler": "^3.1.2",
+ "@smithy/fetch-http-handler": "^3.2.4",
+ "@smithy/node-http-handler": "^3.1.4",
"@smithy/types": "^3.3.0",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-buffer-from": "^3.0.0",
@@ -3943,7 +3961,8 @@
"node_modules/@types/caseless": {
"version": "0.12.2",
"resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz",
- "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w=="
+ "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==",
+ "dev": true
},
"node_modules/@types/chai": {
"version": "4.3.0",
@@ -4171,11 +4190,6 @@
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.6.tgz",
"integrity": "sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA=="
},
- "node_modules/@types/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw=="
- },
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -4257,11 +4271,11 @@
}
},
"node_modules/@types/node": {
- "version": "20.14.13",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.13.tgz",
- "integrity": "sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==",
+ "version": "20.16.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz",
+ "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.19.2"
}
},
"node_modules/@types/node-cleanup": {
@@ -4270,6 +4284,11 @@
"integrity": "sha512-HTksao/sZs9nqxKD/vWOR3WxSrQsyJlBPEFFCgq9lMmhRsuQF+2p6hy+7FaCYn6lOeiDc3ywI8jDQ2bz5y6m8w==",
"dev": true
},
+ "node_modules/@types/node/node_modules/undici-types": {
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="
+ },
"node_modules/@types/parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
@@ -4314,6 +4333,7 @@
"version": "2.48.12",
"resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.12.tgz",
"integrity": "sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==",
+ "dev": true,
"dependencies": {
"@types/caseless": "*",
"@types/node": "*",
@@ -4325,6 +4345,7 @@
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
"integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ "dev": true,
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -4460,7 +4481,8 @@
"node_modules/@types/tough-cookie": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz",
- "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg=="
+ "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==",
+ "dev": true
},
"node_modules/@types/update-notifier": {
"version": "4.1.1",
@@ -5175,9 +5197,9 @@
}
},
"node_modules/archiver/node_modules/async": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
- "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
+ "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/readable-stream": {
@@ -5475,11 +5497,11 @@
}
},
"node_modules/axios": {
- "version": "1.6.7",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
- "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
+ "version": "1.6.8",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
+ "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"dependencies": {
- "follow-redirects": "^1.15.4",
+ "follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -5673,18 +5695,15 @@
}
},
"node_modules/balena-image-manager/node_modules/rimraf": {
- "version": "5.0.9",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.9.tgz",
- "integrity": "sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==",
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
+ "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
"dependencies": {
"glob": "^10.3.7"
},
"bin": {
"rimraf": "dist/esm/bin.mjs"
},
- "engines": {
- "node": "14 >=14.20 || 16 >=16.20 || >=18"
- },
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@@ -5780,9 +5799,9 @@
}
},
"node_modules/balena-sdk/node_modules/@types/node": {
- "version": "18.19.42",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.42.tgz",
- "integrity": "sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg==",
+ "version": "18.19.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.45.tgz",
+ "integrity": "sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==",
"dependencies": {
"undici-types": "~5.26.4"
}
@@ -8946,17 +8965,17 @@
}
},
"node_modules/fast-xml-parser": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz",
- "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
"funding": [
- {
- "type": "paypal",
- "url": "https://paypal.me/naturalintelligence"
- },
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
}
],
"dependencies": {
@@ -10218,12 +10237,6 @@
"node": "^16.14.0 || >=18.0.0"
}
},
- "node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true
- },
"node_modules/htmlparser2": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz",
@@ -10470,9 +10483,9 @@
]
},
"node_modules/ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"engines": {
"node": ">= 4"
}
@@ -11119,9 +11132,9 @@
}
},
"node_modules/is-core-module": {
- "version": "2.15.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
- "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
+ "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
"dev": true,
"dependencies": {
"hasown": "^2.0.2"
@@ -11584,9 +11597,9 @@
}
},
"node_modules/jake/node_modules/async": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
- "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="
},
"node_modules/jake/node_modules/chalk": {
"version": "4.1.2",
@@ -12397,15 +12410,9 @@
"integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0="
},
"node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
},
"node_modules/lru-queue": {
"version": "0.1.0",
@@ -13636,9 +13643,9 @@
}
},
"node_modules/oclif/node_modules/@oclif/core": {
- "version": "4.0.17",
- "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.17.tgz",
- "integrity": "sha512-zfdSRip9DVMOklMojWCLZEB4iOzy7LDTABCDzCXqmpZGS+o1e1xts4jGhnte3mi0WV0YthNfYqF16tqk6CWITA==",
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.18.tgz",
+ "integrity": "sha512-3EP4zJ+1ndc92UxdNmGX4HhFK5Xh94fWvUeOW1Tu/Ed+/jAljIsbmZyjVhDoE0vV5cftT+3QaVB/LFxaXxty/w==",
"dev": true,
"dependencies": {
"ansi-escapes": "^4.3.2",
@@ -14683,11 +14690,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
- },
"node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -14777,25 +14779,6 @@
"npm": ">=6.0.0"
}
},
- "node_modules/pinejs-client-request": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/pinejs-client-request/-/pinejs-client-request-7.4.2.tgz",
- "integrity": "sha512-ltltWhsrZK2UiDfoWGF4AciOBW3YaHJWO9xuOEPK8LjkMBBVz5K6HKqguzV5ZqJ+8lLMgBvUtnF/9cSEMCMcbw==",
- "dependencies": {
- "@types/lodash": "^4.17.4",
- "@types/lru-cache": "^5.1.1",
- "@types/request": "^2.48.12",
- "lodash": "^4.17.21",
- "lru-cache": "^6.0.0",
- "pinejs-client-core": "^6.14.6",
- "request": "^2.88.2",
- "typed-error": "^3.2.2"
- },
- "engines": {
- "node": ">=10.0.0",
- "npm": ">=6.0.0"
- }
- },
"node_modules/pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
@@ -14904,10 +14887,9 @@
}
},
"node_modules/prebuild-install/node_modules/node-abi": {
- "version": "3.65.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz",
- "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==",
- "license": "MIT",
+ "version": "3.67.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.67.0.tgz",
+ "integrity": "sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==",
"dependencies": {
"semver": "^7.3.5"
},
@@ -18342,9 +18324,9 @@
"integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
},
"node_modules/url/node_modules/qs": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz",
- "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
"dependencies": {
"side-channel": "^1.0.6"
},
@@ -18900,11 +18882,6 @@
"node": ">=10"
}
},
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
"node_modules/yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
diff --git a/package.json b/package.json
index b49f1073..495fa2ae 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,7 @@
"bin/",
"build/",
"doc/",
- "lib/",
+ "src/",
"patches/",
"!patches/**/**.dev.patch",
"*.md",
@@ -51,7 +51,7 @@
"build": "npm run build:src && npm run catch-uncommitted",
"build:t": "npm run lint && npm run build:fast && npm run build:test",
"build:src": "npm run lint && npm run build:fast && npm run build:test && npm run build:doc && npm run build:completion",
- "build:pages": "mkdirp ./build/auth/pages/&& inline-source --compress ./lib/auth/pages/error.ejs ./build/auth/pages/error.ejs && inline-source --compress ./lib/auth/pages/success.ejs ./build/auth/pages/success.ejs",
+ "build:pages": "mkdirp ./build/auth/pages/&& inline-source --compress ./src/auth/pages/error.ejs ./build/auth/pages/error.ejs && inline-source --compress ./src/auth/pages/success.ejs ./build/auth/pages/success.ejs",
"build:fast": "npm run build:pages && tsc && npx oclif manifest",
"build:test": "tsc -P ./tsconfig.dev.json --noEmit",
"build:doc": "ts-node --transpile-only automation/capitanodoc/index.ts > docs/balena-cli.md",
@@ -73,7 +73,7 @@
"catch-uncommitted": "ts-node --transpile-only automation/run.ts catch-uncommitted",
"ci": "npm run test && npm run catch-uncommitted",
"lint": "npm run lint-tsconfig && npm run lint-other",
- "lint-tsconfig": "balena-lint -e ts -e js -t tsconfig.dev.json --fix automation/ lib/ tests/ typings/",
+ "lint-tsconfig": "balena-lint -e ts -e js -t tsconfig.dev.json --fix automation/ src/ tests/ typings/",
"lint-other": "balena-lint -e ts -e js --fix bin/run.js bin/dev.js completion/ .mocharc.js .mocharc-standalone.js",
"update": "ts-node --transpile-only ./automation/update-module.ts",
"prepare": "echo {} > bin/.fast-boot.json",
@@ -199,7 +199,7 @@
"typescript": "^5.5.2"
},
"dependencies": {
- "@balena/compose": "^3.2.1",
+ "@balena/compose": "^4.0.1",
"@balena/dockerignore": "^1.0.2",
"@balena/env-parsing": "^1.1.8",
"@balena/es-version": "^1.0.1",
diff --git a/lib/app.ts b/src/app.ts
similarity index 100%
rename from lib/app.ts
rename to src/app.ts
diff --git a/lib/auth/index.ts b/src/auth/index.ts
similarity index 100%
rename from lib/auth/index.ts
rename to src/auth/index.ts
diff --git a/lib/auth/pages/error.ejs b/src/auth/pages/error.ejs
similarity index 100%
rename from lib/auth/pages/error.ejs
rename to src/auth/pages/error.ejs
diff --git a/lib/auth/pages/static/images/happy.png b/src/auth/pages/static/images/happy.png
similarity index 100%
rename from lib/auth/pages/static/images/happy.png
rename to src/auth/pages/static/images/happy.png
diff --git a/lib/auth/pages/static/images/sad.png b/src/auth/pages/static/images/sad.png
similarity index 100%
rename from lib/auth/pages/static/images/sad.png
rename to src/auth/pages/static/images/sad.png
diff --git a/lib/auth/pages/static/style.css b/src/auth/pages/static/style.css
similarity index 100%
rename from lib/auth/pages/static/style.css
rename to src/auth/pages/static/style.css
diff --git a/lib/auth/pages/success.ejs b/src/auth/pages/success.ejs
similarity index 100%
rename from lib/auth/pages/success.ejs
rename to src/auth/pages/success.ejs
diff --git a/lib/auth/server.ts b/src/auth/server.ts
similarity index 100%
rename from lib/auth/server.ts
rename to src/auth/server.ts
diff --git a/lib/auth/utils.ts b/src/auth/utils.ts
similarity index 100%
rename from lib/auth/utils.ts
rename to src/auth/utils.ts
diff --git a/lib/command.ts b/src/command.ts
similarity index 97%
rename from lib/command.ts
rename to src/command.ts
index 1b260a35..4c5d66bd 100644
--- a/lib/command.ts
+++ b/src/command.ts
@@ -21,7 +21,6 @@ import {
NotAvailableInOfflineModeError,
} from './errors';
import { stripIndent } from './utils/lazy';
-import * as output from './framework/output';
export default abstract class BalenaCommand extends Command {
/**
@@ -168,7 +167,4 @@ export default abstract class BalenaCommand extends Command {
await this.getStdin();
}
}
-
- protected outputMessage = output.outputMessage;
- protected outputData = output.outputData;
}
diff --git a/lib/commands/api-key/generate.ts b/src/commands/api-key/generate.ts
similarity index 100%
rename from lib/commands/api-key/generate.ts
rename to src/commands/api-key/generate.ts
diff --git a/lib/commands/api-key/revoke.ts b/src/commands/api-key/revoke.ts
similarity index 100%
rename from lib/commands/api-key/revoke.ts
rename to src/commands/api-key/revoke.ts
diff --git a/lib/commands/api-keys/index.ts b/src/commands/api-keys/index.ts
similarity index 100%
rename from lib/commands/api-keys/index.ts
rename to src/commands/api-keys/index.ts
diff --git a/lib/commands/app/create.ts b/src/commands/app/create.ts
similarity index 100%
rename from lib/commands/app/create.ts
rename to src/commands/app/create.ts
diff --git a/lib/commands/block/create.ts b/src/commands/block/create.ts
similarity index 100%
rename from lib/commands/block/create.ts
rename to src/commands/block/create.ts
diff --git a/lib/commands/build/index.ts b/src/commands/build/index.ts
similarity index 100%
rename from lib/commands/build/index.ts
rename to src/commands/build/index.ts
diff --git a/lib/commands/config/generate.ts b/src/commands/config/generate.ts
similarity index 100%
rename from lib/commands/config/generate.ts
rename to src/commands/config/generate.ts
diff --git a/lib/commands/config/inject.ts b/src/commands/config/inject.ts
similarity index 100%
rename from lib/commands/config/inject.ts
rename to src/commands/config/inject.ts
diff --git a/lib/commands/config/read.ts b/src/commands/config/read.ts
similarity index 100%
rename from lib/commands/config/read.ts
rename to src/commands/config/read.ts
diff --git a/lib/commands/config/reconfigure.ts b/src/commands/config/reconfigure.ts
similarity index 100%
rename from lib/commands/config/reconfigure.ts
rename to src/commands/config/reconfigure.ts
diff --git a/lib/commands/config/write.ts b/src/commands/config/write.ts
similarity index 100%
rename from lib/commands/config/write.ts
rename to src/commands/config/write.ts
diff --git a/lib/commands/deploy/index.ts b/src/commands/deploy/index.ts
similarity index 100%
rename from lib/commands/deploy/index.ts
rename to src/commands/deploy/index.ts
diff --git a/lib/commands/device/deactivate.ts b/src/commands/device/deactivate.ts
similarity index 100%
rename from lib/commands/device/deactivate.ts
rename to src/commands/device/deactivate.ts
diff --git a/lib/commands/device/identify.ts b/src/commands/device/identify.ts
similarity index 100%
rename from lib/commands/device/identify.ts
rename to src/commands/device/identify.ts
diff --git a/lib/commands/device/index.ts b/src/commands/device/index.ts
similarity index 100%
rename from lib/commands/device/index.ts
rename to src/commands/device/index.ts
diff --git a/lib/commands/device/init.ts b/src/commands/device/init.ts
similarity index 100%
rename from lib/commands/device/init.ts
rename to src/commands/device/init.ts
diff --git a/lib/commands/device/local-mode.ts b/src/commands/device/local-mode.ts
similarity index 100%
rename from lib/commands/device/local-mode.ts
rename to src/commands/device/local-mode.ts
diff --git a/lib/commands/device/move.ts b/src/commands/device/move.ts
similarity index 100%
rename from lib/commands/device/move.ts
rename to src/commands/device/move.ts
diff --git a/lib/commands/device/os-update.ts b/src/commands/device/os-update.ts
similarity index 100%
rename from lib/commands/device/os-update.ts
rename to src/commands/device/os-update.ts
diff --git a/lib/commands/device/pin.ts b/src/commands/device/pin.ts
similarity index 100%
rename from lib/commands/device/pin.ts
rename to src/commands/device/pin.ts
diff --git a/lib/commands/device/public-url.ts b/src/commands/device/public-url.ts
similarity index 100%
rename from lib/commands/device/public-url.ts
rename to src/commands/device/public-url.ts
diff --git a/lib/commands/device/purge.ts b/src/commands/device/purge.ts
similarity index 100%
rename from lib/commands/device/purge.ts
rename to src/commands/device/purge.ts
diff --git a/lib/commands/device/reboot.ts b/src/commands/device/reboot.ts
similarity index 100%
rename from lib/commands/device/reboot.ts
rename to src/commands/device/reboot.ts
diff --git a/lib/commands/device/register.ts b/src/commands/device/register.ts
similarity index 100%
rename from lib/commands/device/register.ts
rename to src/commands/device/register.ts
diff --git a/lib/commands/device/rename.ts b/src/commands/device/rename.ts
similarity index 100%
rename from lib/commands/device/rename.ts
rename to src/commands/device/rename.ts
diff --git a/lib/commands/device/restart.ts b/src/commands/device/restart.ts
similarity index 100%
rename from lib/commands/device/restart.ts
rename to src/commands/device/restart.ts
diff --git a/lib/commands/device/rm.ts b/src/commands/device/rm.ts
similarity index 100%
rename from lib/commands/device/rm.ts
rename to src/commands/device/rm.ts
diff --git a/lib/commands/device/shutdown.ts b/src/commands/device/shutdown.ts
similarity index 100%
rename from lib/commands/device/shutdown.ts
rename to src/commands/device/shutdown.ts
diff --git a/lib/commands/device/start-service.ts b/src/commands/device/start-service.ts
similarity index 100%
rename from lib/commands/device/start-service.ts
rename to src/commands/device/start-service.ts
diff --git a/lib/commands/device/stop-service.ts b/src/commands/device/stop-service.ts
similarity index 100%
rename from lib/commands/device/stop-service.ts
rename to src/commands/device/stop-service.ts
diff --git a/lib/commands/device/track-fleet.ts b/src/commands/device/track-fleet.ts
similarity index 100%
rename from lib/commands/device/track-fleet.ts
rename to src/commands/device/track-fleet.ts
diff --git a/lib/commands/devices/index.ts b/src/commands/devices/index.ts
similarity index 100%
rename from lib/commands/devices/index.ts
rename to src/commands/devices/index.ts
diff --git a/lib/commands/devices/supported.ts b/src/commands/devices/supported.ts
similarity index 100%
rename from lib/commands/devices/supported.ts
rename to src/commands/devices/supported.ts
diff --git a/lib/commands/env/add.ts b/src/commands/env/add.ts
similarity index 100%
rename from lib/commands/env/add.ts
rename to src/commands/env/add.ts
diff --git a/lib/commands/env/rename.ts b/src/commands/env/rename.ts
similarity index 100%
rename from lib/commands/env/rename.ts
rename to src/commands/env/rename.ts
diff --git a/lib/commands/env/rm.ts b/src/commands/env/rm.ts
similarity index 100%
rename from lib/commands/env/rm.ts
rename to src/commands/env/rm.ts
diff --git a/lib/commands/envs/index.ts b/src/commands/envs/index.ts
similarity index 100%
rename from lib/commands/envs/index.ts
rename to src/commands/envs/index.ts
diff --git a/lib/commands/fleet/create.ts b/src/commands/fleet/create.ts
similarity index 100%
rename from lib/commands/fleet/create.ts
rename to src/commands/fleet/create.ts
diff --git a/lib/commands/fleet/index.ts b/src/commands/fleet/index.ts
similarity index 79%
rename from lib/commands/fleet/index.ts
rename to src/commands/fleet/index.ts
index b59c135a..b34be44b 100644
--- a/lib/commands/fleet/index.ts
+++ b/src/commands/fleet/index.ts
@@ -20,7 +20,7 @@ import { Flags } from '@oclif/core';
import Command from '../../command';
import * as cf from '../../utils/common-flags';
import * as ca from '../../utils/common-args';
-import { getBalenaSdk, stripIndent } from '../../utils/lazy';
+import { getBalenaSdk, getVisuals, stripIndent } from '../../utils/lazy';
import { applicationIdInfo } from '../../utils/messages';
export default class FleetCmd extends Command {
@@ -49,7 +49,7 @@ export default class FleetCmd extends Command {
default: false,
description: 'open fleet dashboard page',
}),
- ...cf.dataOutputFlags,
+ json: cf.json,
};
public static authenticated = true;
@@ -78,16 +78,28 @@ export default class FleetCmd extends Command {
return;
}
- const outputApplication = {
- ...application,
+ const applicationToDisplay = {
+ id: application.id,
+ app_name: application.app_name,
+ slug: application.slug,
device_type: application.is_for__device_type[0].slug,
commit: application.should_be_running__release[0]?.commit,
};
- await this.outputData(
- outputApplication,
- ['app_name', 'id', 'device_type', 'slug', 'commit'],
- options,
+ if (options.json) {
+ console.log(JSON.stringify(applicationToDisplay, null, 4));
+ return;
+ }
+
+ // Emulate table.vertical title output, but avoid uppercasing and inserting spaces
+ console.log(`== ${applicationToDisplay.app_name}`);
+ console.log(
+ getVisuals().table.vertical(applicationToDisplay, [
+ 'id',
+ 'device_type',
+ 'slug',
+ 'commit',
+ ]),
);
}
}
diff --git a/lib/commands/fleet/pin.ts b/src/commands/fleet/pin.ts
similarity index 100%
rename from lib/commands/fleet/pin.ts
rename to src/commands/fleet/pin.ts
diff --git a/lib/commands/fleet/purge.ts b/src/commands/fleet/purge.ts
similarity index 100%
rename from lib/commands/fleet/purge.ts
rename to src/commands/fleet/purge.ts
diff --git a/lib/commands/fleet/rename.ts b/src/commands/fleet/rename.ts
similarity index 100%
rename from lib/commands/fleet/rename.ts
rename to src/commands/fleet/rename.ts
diff --git a/lib/commands/fleet/restart.ts b/src/commands/fleet/restart.ts
similarity index 100%
rename from lib/commands/fleet/restart.ts
rename to src/commands/fleet/restart.ts
diff --git a/lib/commands/fleet/rm.ts b/src/commands/fleet/rm.ts
similarity index 100%
rename from lib/commands/fleet/rm.ts
rename to src/commands/fleet/rm.ts
diff --git a/lib/commands/fleet/track-latest.ts b/src/commands/fleet/track-latest.ts
similarity index 100%
rename from lib/commands/fleet/track-latest.ts
rename to src/commands/fleet/track-latest.ts
diff --git a/lib/commands/fleets/index.ts b/src/commands/fleets/index.ts
similarity index 79%
rename from lib/commands/fleets/index.ts
rename to src/commands/fleets/index.ts
index fe649c18..e3980b08 100644
--- a/lib/commands/fleets/index.ts
+++ b/src/commands/fleets/index.ts
@@ -19,7 +19,7 @@ import type * as BalenaSdk from 'balena-sdk';
import Command from '../../command';
import * as cf from '../../utils/common-flags';
-import { getBalenaSdk, stripIndent } from '../../utils/lazy';
+import { getBalenaSdk, getVisuals, stripIndent } from '../../utils/lazy';
interface ExtendedApplication extends ApplicationWithDeviceTypeSlug {
device_count: number;
@@ -42,8 +42,8 @@ export default class FleetsCmd extends Command {
public static usage = 'fleets';
public static flags = {
- ...cf.dataSetOutputFlags,
help: cf.help,
+ json: cf.json,
};
public static authenticated = true;
@@ -77,17 +77,29 @@ export default class FleetsCmd extends Command {
application.device_type = application.is_for__device_type[0].slug;
});
- await this.outputData(
- applications,
- [
+ const applicationsToDisplay = applications.map((application) => ({
+ id: application.id,
+ app_name: application.app_name,
+ slug: application.slug,
+ device_type: application.device_type,
+ online_devices: application.online_devices,
+ device_count: application.device_count,
+ }));
+
+ if (options.json) {
+ console.log(JSON.stringify(applicationsToDisplay, null, 4));
+ return;
+ }
+
+ console.log(
+ getVisuals().table.horizontal(applicationsToDisplay, [
'id',
- 'app_name',
+ 'app_name => NAME',
'slug',
'device_type',
'device_count',
'online_devices',
- ],
- options,
+ ]),
);
}
}
diff --git a/lib/commands/internal/osinit.ts b/src/commands/internal/osinit.ts
similarity index 100%
rename from lib/commands/internal/osinit.ts
rename to src/commands/internal/osinit.ts
diff --git a/lib/commands/join/index.ts b/src/commands/join/index.ts
similarity index 100%
rename from lib/commands/join/index.ts
rename to src/commands/join/index.ts
diff --git a/lib/commands/key/add.ts b/src/commands/key/add.ts
similarity index 100%
rename from lib/commands/key/add.ts
rename to src/commands/key/add.ts
diff --git a/lib/commands/key/index.ts b/src/commands/key/index.ts
similarity index 100%
rename from lib/commands/key/index.ts
rename to src/commands/key/index.ts
diff --git a/lib/commands/key/rm.ts b/src/commands/key/rm.ts
similarity index 100%
rename from lib/commands/key/rm.ts
rename to src/commands/key/rm.ts
diff --git a/lib/commands/keys/index.ts b/src/commands/keys/index.ts
similarity index 100%
rename from lib/commands/keys/index.ts
rename to src/commands/keys/index.ts
diff --git a/lib/commands/leave/index.ts b/src/commands/leave/index.ts
similarity index 100%
rename from lib/commands/leave/index.ts
rename to src/commands/leave/index.ts
diff --git a/lib/commands/local/configure.ts b/src/commands/local/configure.ts
similarity index 100%
rename from lib/commands/local/configure.ts
rename to src/commands/local/configure.ts
diff --git a/lib/commands/local/flash.ts b/src/commands/local/flash.ts
similarity index 100%
rename from lib/commands/local/flash.ts
rename to src/commands/local/flash.ts
diff --git a/lib/commands/login/index.ts b/src/commands/login/index.ts
similarity index 100%
rename from lib/commands/login/index.ts
rename to src/commands/login/index.ts
diff --git a/lib/commands/logout/index.ts b/src/commands/logout/index.ts
similarity index 100%
rename from lib/commands/logout/index.ts
rename to src/commands/logout/index.ts
diff --git a/lib/commands/logs/index.ts b/src/commands/logs/index.ts
similarity index 100%
rename from lib/commands/logs/index.ts
rename to src/commands/logs/index.ts
diff --git a/lib/commands/notes/index.ts b/src/commands/notes/index.ts
similarity index 100%
rename from lib/commands/notes/index.ts
rename to src/commands/notes/index.ts
diff --git a/lib/commands/orgs/index.ts b/src/commands/orgs/index.ts
similarity index 100%
rename from lib/commands/orgs/index.ts
rename to src/commands/orgs/index.ts
diff --git a/lib/commands/os/build-config.ts b/src/commands/os/build-config.ts
similarity index 100%
rename from lib/commands/os/build-config.ts
rename to src/commands/os/build-config.ts
diff --git a/lib/commands/os/configure.ts b/src/commands/os/configure.ts
similarity index 100%
rename from lib/commands/os/configure.ts
rename to src/commands/os/configure.ts
diff --git a/lib/commands/os/download.ts b/src/commands/os/download.ts
similarity index 100%
rename from lib/commands/os/download.ts
rename to src/commands/os/download.ts
diff --git a/lib/commands/os/initialize.ts b/src/commands/os/initialize.ts
similarity index 100%
rename from lib/commands/os/initialize.ts
rename to src/commands/os/initialize.ts
diff --git a/lib/commands/os/versions.ts b/src/commands/os/versions.ts
similarity index 100%
rename from lib/commands/os/versions.ts
rename to src/commands/os/versions.ts
diff --git a/lib/commands/preload/index.ts b/src/commands/preload/index.ts
similarity index 100%
rename from lib/commands/preload/index.ts
rename to src/commands/preload/index.ts
diff --git a/lib/commands/push/index.ts b/src/commands/push/index.ts
similarity index 100%
rename from lib/commands/push/index.ts
rename to src/commands/push/index.ts
diff --git a/lib/commands/release/finalize.ts b/src/commands/release/finalize.ts
similarity index 100%
rename from lib/commands/release/finalize.ts
rename to src/commands/release/finalize.ts
diff --git a/lib/commands/release/index.ts b/src/commands/release/index.ts
similarity index 100%
rename from lib/commands/release/index.ts
rename to src/commands/release/index.ts
diff --git a/lib/commands/release/invalidate.ts b/src/commands/release/invalidate.ts
similarity index 100%
rename from lib/commands/release/invalidate.ts
rename to src/commands/release/invalidate.ts
diff --git a/lib/commands/release/validate.ts b/src/commands/release/validate.ts
similarity index 100%
rename from lib/commands/release/validate.ts
rename to src/commands/release/validate.ts
diff --git a/lib/commands/releases/index.ts b/src/commands/releases/index.ts
similarity index 100%
rename from lib/commands/releases/index.ts
rename to src/commands/releases/index.ts
diff --git a/lib/commands/scan/index.ts b/src/commands/scan/index.ts
similarity index 100%
rename from lib/commands/scan/index.ts
rename to src/commands/scan/index.ts
diff --git a/lib/commands/settings/index.ts b/src/commands/settings/index.ts
similarity index 100%
rename from lib/commands/settings/index.ts
rename to src/commands/settings/index.ts
diff --git a/lib/commands/ssh/index.ts b/src/commands/ssh/index.ts
similarity index 100%
rename from lib/commands/ssh/index.ts
rename to src/commands/ssh/index.ts
diff --git a/lib/commands/support/index.ts b/src/commands/support/index.ts
similarity index 100%
rename from lib/commands/support/index.ts
rename to src/commands/support/index.ts
diff --git a/lib/commands/tag/rm.ts b/src/commands/tag/rm.ts
similarity index 100%
rename from lib/commands/tag/rm.ts
rename to src/commands/tag/rm.ts
diff --git a/lib/commands/tag/set.ts b/src/commands/tag/set.ts
similarity index 100%
rename from lib/commands/tag/set.ts
rename to src/commands/tag/set.ts
diff --git a/lib/commands/tags/index.ts b/src/commands/tags/index.ts
similarity index 100%
rename from lib/commands/tags/index.ts
rename to src/commands/tags/index.ts
diff --git a/lib/commands/tunnel/index.ts b/src/commands/tunnel/index.ts
similarity index 100%
rename from lib/commands/tunnel/index.ts
rename to src/commands/tunnel/index.ts
diff --git a/lib/commands/util/available-drives.ts b/src/commands/util/available-drives.ts
similarity index 100%
rename from lib/commands/util/available-drives.ts
rename to src/commands/util/available-drives.ts
diff --git a/lib/commands/version/index.ts b/src/commands/version/index.ts
similarity index 100%
rename from lib/commands/version/index.ts
rename to src/commands/version/index.ts
diff --git a/lib/commands/whoami/index.ts b/src/commands/whoami/index.ts
similarity index 100%
rename from lib/commands/whoami/index.ts
rename to src/commands/whoami/index.ts
diff --git a/lib/config.ts b/src/config.ts
similarity index 100%
rename from lib/config.ts
rename to src/config.ts
diff --git a/lib/deprecation.ts b/src/deprecation.ts
similarity index 100%
rename from lib/deprecation.ts
rename to src/deprecation.ts
diff --git a/lib/errors.ts b/src/errors.ts
similarity index 100%
rename from lib/errors.ts
rename to src/errors.ts
diff --git a/lib/events.ts b/src/events.ts
similarity index 98%
rename from lib/events.ts
rename to src/events.ts
index fd0f74f6..3aa2826a 100644
--- a/lib/events.ts
+++ b/src/events.ts
@@ -30,7 +30,7 @@ import { stripIndent } from './utils/lazy';
*
* The username and command signature are also added as extra context
* information in Sentry.io error reporting, for CLI debugging purposes
- * (mainly unexpected/unhandled exceptions -- see also `lib/errors.ts`).
+ * (mainly unexpected/unhandled exceptions -- see also `src/errors.ts`).
*
* For more details on the data collected by balena generally, check this page:
* https://www.balena.io/docs/learn/more/collected-data/
diff --git a/lib/fast-boot.ts b/src/fast-boot.ts
similarity index 96%
rename from lib/fast-boot.ts
rename to src/fast-boot.ts
index d66dd499..f178fdb6 100644
--- a/lib/fast-boot.ts
+++ b/src/fast-boot.ts
@@ -20,7 +20,7 @@
* we have permissions over the cache file before even attempting to load
* fast boot.
* DON'T IMPORT BALENA-CLI MODULES HERE, as this module is loaded directly
- * from `bin/run.js`, before the CLI's entrypoint in `lib/app.ts`.
+ * from `bin/run.js`, before the CLI's entrypoint in `src/app.ts`.
*/
import * as fs from 'fs';
@@ -63,7 +63,7 @@ async function $start() {
process.env.BALENARC_DATA_DIRECTORY || path.join(os.homedir(), dotBalena),
);
// Consider that the CLI may be installed to a folder owned by root
- // such as `/usr[/local]/lib/balena-cli`, while being executed by
+ // such as `/usr[/local]/src/balena-cli`, while being executed by
// a regular user account.
const cacheFile = path.join(dataDir, 'cli-module-cache.json');
const root = path.join(__dirname, '..');
diff --git a/lib/global.d.ts b/src/global.d.ts
similarity index 100%
rename from lib/global.d.ts
rename to src/global.d.ts
diff --git a/lib/help.ts b/src/help.ts
similarity index 100%
rename from lib/help.ts
rename to src/help.ts
diff --git a/lib/hooks/command-not-found/suggest.ts b/src/hooks/command-not-found/suggest.ts
similarity index 100%
rename from lib/hooks/command-not-found/suggest.ts
rename to src/hooks/command-not-found/suggest.ts
diff --git a/lib/hooks/prerun/track.ts b/src/hooks/prerun/track.ts
similarity index 100%
rename from lib/hooks/prerun/track.ts
rename to src/hooks/prerun/track.ts
diff --git a/lib/preparser.ts b/src/preparser.ts
similarity index 100%
rename from lib/preparser.ts
rename to src/preparser.ts
diff --git a/lib/utils/application-create.ts b/src/utils/application-create.ts
similarity index 100%
rename from lib/utils/application-create.ts
rename to src/utils/application-create.ts
diff --git a/lib/utils/bootstrap.ts b/src/utils/bootstrap.ts
similarity index 98%
rename from lib/utils/bootstrap.ts
rename to src/utils/bootstrap.ts
index bcf5c587..679e66f3 100644
--- a/lib/utils/bootstrap.ts
+++ b/src/utils/bootstrap.ts
@@ -130,8 +130,8 @@ let cachedUsername: CachedUsername | undefined;
/**
* Return the parsed contents of the `~/.balena/cachedUsername` file. If the file
* does not exist, create it with the details from the cloud. If not connected
- * to the internet, return undefined. This function is used by `lib/events.ts`
- * (event tracking) and `lib/utils/device/ssh.ts` and needs to gracefully handle
+ * to the internet, return undefined. This function is used by `src/events.ts`
+ * (event tracking) and `src/utils/device/ssh.ts` and needs to gracefully handle
* the scenario of not being connected to the internet.
*/
export async function getCachedUsername(): Promise {
diff --git a/lib/utils/cloud.ts b/src/utils/cloud.ts
similarity index 100%
rename from lib/utils/cloud.ts
rename to src/utils/cloud.ts
diff --git a/lib/utils/common-args.ts b/src/utils/common-args.ts
similarity index 100%
rename from lib/utils/common-args.ts
rename to src/utils/common-args.ts
diff --git a/lib/utils/common-flags.ts b/src/utils/common-flags.ts
similarity index 76%
rename from lib/utils/common-flags.ts
rename to src/utils/common-flags.ts
index 0941ed43..7707e6c9 100644
--- a/lib/utils/common-flags.ts
+++ b/src/utils/common-flags.ts
@@ -104,36 +104,3 @@ export const json = Flags.boolean({
description: 'produce JSON output instead of tabular output',
default: false,
});
-
-export const dataOutputFlags = {
- fields: Flags.string({
- description: 'only show provided fields (comma-separated)',
- }),
- json: Flags.boolean({
- char: 'j',
- exclusive: ['no-truncate'],
- description: 'output in json format',
- default: false,
- }),
-};
-
-export const dataSetOutputFlags = {
- ...dataOutputFlags,
- filter: Flags.string({
- description:
- 'filter results by substring matching of a given field, eg: --filter field=foo',
- }),
- 'no-header': Flags.boolean({
- exclusive: ['json'],
- description: 'hide table header from output',
- default: false,
- }),
- 'no-truncate': Flags.boolean({
- exclusive: ['json'],
- description: 'do not truncate output to fit screen',
- default: false,
- }),
- sort: Flags.string({
- description: `field to sort by (prepend '-' for descending order)`,
- }),
-};
diff --git a/lib/utils/compose-types.d.ts b/src/utils/compose-types.d.ts
similarity index 100%
rename from lib/utils/compose-types.d.ts
rename to src/utils/compose-types.d.ts
diff --git a/lib/utils/compose.ts b/src/utils/compose.ts
similarity index 100%
rename from lib/utils/compose.ts
rename to src/utils/compose.ts
diff --git a/lib/utils/compose_ts.ts b/src/utils/compose_ts.ts
similarity index 100%
rename from lib/utils/compose_ts.ts
rename to src/utils/compose_ts.ts
diff --git a/lib/utils/config.ts b/src/utils/config.ts
similarity index 100%
rename from lib/utils/config.ts
rename to src/utils/config.ts
diff --git a/lib/utils/deploy-legacy.ts b/src/utils/deploy-legacy.ts
similarity index 100%
rename from lib/utils/deploy-legacy.ts
rename to src/utils/deploy-legacy.ts
diff --git a/lib/utils/device/api.ts b/src/utils/device/api.ts
similarity index 100%
rename from lib/utils/device/api.ts
rename to src/utils/device/api.ts
diff --git a/lib/utils/device/deploy.ts b/src/utils/device/deploy.ts
similarity index 100%
rename from lib/utils/device/deploy.ts
rename to src/utils/device/deploy.ts
diff --git a/lib/utils/device/errors.ts b/src/utils/device/errors.ts
similarity index 100%
rename from lib/utils/device/errors.ts
rename to src/utils/device/errors.ts
diff --git a/lib/utils/device/live.ts b/src/utils/device/live.ts
similarity index 100%
rename from lib/utils/device/live.ts
rename to src/utils/device/live.ts
diff --git a/lib/utils/device/logs.ts b/src/utils/device/logs.ts
similarity index 100%
rename from lib/utils/device/logs.ts
rename to src/utils/device/logs.ts
diff --git a/lib/utils/device/ssh.ts b/src/utils/device/ssh.ts
similarity index 100%
rename from lib/utils/device/ssh.ts
rename to src/utils/device/ssh.ts
diff --git a/lib/utils/discover.ts b/src/utils/discover.ts
similarity index 100%
rename from lib/utils/discover.ts
rename to src/utils/discover.ts
diff --git a/lib/utils/docker.ts b/src/utils/docker.ts
similarity index 100%
rename from lib/utils/docker.ts
rename to src/utils/docker.ts
diff --git a/lib/utils/env-common.ts b/src/utils/env-common.ts
similarity index 100%
rename from lib/utils/env-common.ts
rename to src/utils/env-common.ts
diff --git a/lib/utils/eol-conversion.ts b/src/utils/eol-conversion.ts
similarity index 100%
rename from lib/utils/eol-conversion.ts
rename to src/utils/eol-conversion.ts
diff --git a/lib/utils/helpers.ts b/src/utils/helpers.ts
similarity index 100%
rename from lib/utils/helpers.ts
rename to src/utils/helpers.ts
diff --git a/lib/utils/ignore.ts b/src/utils/ignore.ts
similarity index 100%
rename from lib/utils/ignore.ts
rename to src/utils/ignore.ts
diff --git a/lib/utils/lazy.ts b/src/utils/lazy.ts
similarity index 100%
rename from lib/utils/lazy.ts
rename to src/utils/lazy.ts
diff --git a/lib/utils/logger.ts b/src/utils/logger.ts
similarity index 100%
rename from lib/utils/logger.ts
rename to src/utils/logger.ts
diff --git a/lib/utils/messages.ts b/src/utils/messages.ts
similarity index 100%
rename from lib/utils/messages.ts
rename to src/utils/messages.ts
diff --git a/lib/utils/normalization.ts b/src/utils/normalization.ts
similarity index 100%
rename from lib/utils/normalization.ts
rename to src/utils/normalization.ts
diff --git a/lib/utils/oclif-utils.ts b/src/utils/oclif-utils.ts
similarity index 100%
rename from lib/utils/oclif-utils.ts
rename to src/utils/oclif-utils.ts
diff --git a/lib/utils/patterns.ts b/src/utils/patterns.ts
similarity index 100%
rename from lib/utils/patterns.ts
rename to src/utils/patterns.ts
diff --git a/lib/utils/pine.ts b/src/utils/pine.ts
similarity index 100%
rename from lib/utils/pine.ts
rename to src/utils/pine.ts
diff --git a/lib/utils/promote.ts b/src/utils/promote.ts
similarity index 100%
rename from lib/utils/promote.ts
rename to src/utils/promote.ts
diff --git a/lib/utils/proxy.ts b/src/utils/proxy.ts
similarity index 100%
rename from lib/utils/proxy.ts
rename to src/utils/proxy.ts
diff --git a/lib/utils/qemu.ts b/src/utils/qemu.ts
similarity index 100%
rename from lib/utils/qemu.ts
rename to src/utils/qemu.ts
diff --git a/lib/utils/remote-build.ts b/src/utils/remote-build.ts
similarity index 100%
rename from lib/utils/remote-build.ts
rename to src/utils/remote-build.ts
diff --git a/lib/utils/sdk.ts b/src/utils/sdk.ts
similarity index 100%
rename from lib/utils/sdk.ts
rename to src/utils/sdk.ts
diff --git a/lib/utils/ssh.ts b/src/utils/ssh.ts
similarity index 100%
rename from lib/utils/ssh.ts
rename to src/utils/ssh.ts
diff --git a/lib/utils/streams.ts b/src/utils/streams.ts
similarity index 100%
rename from lib/utils/streams.ts
rename to src/utils/streams.ts
diff --git a/lib/utils/sudo.ts b/src/utils/sudo.ts
similarity index 100%
rename from lib/utils/sudo.ts
rename to src/utils/sudo.ts
diff --git a/lib/utils/tty.ts b/src/utils/tty.ts
similarity index 100%
rename from lib/utils/tty.ts
rename to src/utils/tty.ts
diff --git a/lib/utils/tunnel.ts b/src/utils/tunnel.ts
similarity index 100%
rename from lib/utils/tunnel.ts
rename to src/utils/tunnel.ts
diff --git a/lib/utils/umount.ts b/src/utils/umount.ts
similarity index 100%
rename from lib/utils/umount.ts
rename to src/utils/umount.ts
diff --git a/lib/utils/update.ts b/src/utils/update.ts
similarity index 100%
rename from lib/utils/update.ts
rename to src/utils/update.ts
diff --git a/lib/utils/validation.ts b/src/utils/validation.ts
similarity index 100%
rename from lib/utils/validation.ts
rename to src/utils/validation.ts
diff --git a/lib/utils/version.ts b/src/utils/version.ts
similarity index 100%
rename from lib/utils/version.ts
rename to src/utils/version.ts
diff --git a/lib/utils/which.ts b/src/utils/which.ts
similarity index 100%
rename from lib/utils/which.ts
rename to src/utils/which.ts
diff --git a/tests/commands/deploy.spec.ts b/tests/commands/deploy.spec.ts
index d8537524..b256bea6 100644
--- a/tests/commands/deploy.spec.ts
+++ b/tests/commands/deploy.spec.ts
@@ -87,7 +87,6 @@ describe('balena deploy', function () {
api.expectGetRelease();
api.expectGetUser();
api.expectGetService({ serviceName: 'main' });
- api.expectPostService409();
api.expectGetAuth();
api.expectPostImage();
api.expectPostImageIsPartOfRelease();
diff --git a/tests/framework/output.spec.ts b/tests/framework/output.spec.ts
deleted file mode 100644
index 975534fc..00000000
--- a/tests/framework/output.spec.ts
+++ /dev/null
@@ -1,255 +0,0 @@
-/**
- * @license
- * Copyright 2020-2021 Balena Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* tslint:disable: prefer-const no-empty */
-
-import rewire = require('rewire');
-import sinon = require('sinon');
-import { expect } from 'chai';
-
-const dataItem = {
- name: 'item1',
- id: 1,
- thing_color: 'blue',
- thing_shape: 'square',
-};
-
-const dataSet = [
- {
- name: 'item1',
- id: 1,
- thing_color: 'red',
- thing_shape: 'square',
- },
- {
- name: 'item2',
- id: 2,
- thing_color: 'blue',
- thing_shape: 'round',
- },
-];
-
-describe('outputData', function () {
- let outputData: any;
- let outputDataSetSpy: any;
- let outputDataItemSpy: any;
-
- this.beforeEach(() => {
- const output = rewire('../../build/framework/output');
-
- outputDataSetSpy = sinon.spy();
- outputDataItemSpy = sinon.spy();
-
- output.__set__('outputDataSet', outputDataSetSpy);
- output.__set__('outputDataItem', outputDataItemSpy);
-
- outputData = output.__get__('outputData');
- });
-
- it('should call outputDataSet function when data param is an array', async () => {
- await outputData(dataSet);
- expect(outputDataSetSpy.called).to.be.true;
- expect(outputDataItemSpy.called).to.be.false;
- });
-
- it('should call outputDataItem function when data param is an object', async () => {
- await outputData(dataItem);
- expect(outputDataSetSpy.called).to.be.false;
- expect(outputDataItemSpy.called).to.be.true;
- });
-});
-
-describe('outputDataSet', function () {
- let outputDataSet: any;
- let printLineSpy: any;
-
- this.beforeEach(() => {
- const output = rewire('../../build/framework/output');
- printLineSpy = sinon.spy();
- output.__set__('printLine', printLineSpy);
- outputDataSet = output.__get__('outputDataSet');
- });
-
- it('should only output fields specified in `fields` param, in that order', async () => {
- const fields = ['id', 'name', 'thing_color'];
- const options = {};
-
- await outputDataSet(dataSet, fields, options);
-
- // check correct number of rows (2 data, 2 header)
- expect(printLineSpy.callCount).to.equal(4);
- const headerLine = printLineSpy.firstCall.firstArg.toLowerCase();
- // check we have fields we specified
- fields.forEach((f) => {
- expect(headerLine).to.include(f.replace(/_/g, ' '));
- });
- // check we don't have fields we didn't specify
- expect(headerLine).to.not.include('thing_shape');
- // check order
- // split header using the `name` column as delimiter
- const splitHeader = headerLine.split('name');
- expect(splitHeader[0]).to.include('id');
- expect(splitHeader[1]).to.include('thing');
- });
-
- /*
- it('should output fields in the order specified in `fields` param', async () => {
- const fields = ['thing_color', 'id', 'name'];
- const options = {};
-
- await outputDataSet(dataSet, fields, options);
-
- const headerLine = printLineSpy.firstCall.firstArg.toLowerCase();
- // split header using the `it` column as delimiter
- const splitHeader = headerLine.split('id');
- expect(splitHeader[0]).to.include('thing');
- expect(splitHeader[1]).to.include('name');
- });
- */
-
- it('should only output fields specified in `options.fields` if present', async () => {
- const fields = ['name', 'id', 'thing_color', 'thing_shape'];
- const options = {
- // test all formats
- fields: 'Name,thing_color,Thing shape',
- };
-
- await outputDataSet(dataSet, fields, options);
-
- const headerLine = printLineSpy.firstCall.firstArg.toLowerCase();
- // check we have fields we specified
- expect(headerLine).to.include('name');
- expect(headerLine).to.include('thing color');
- expect(headerLine).to.include('thing shape');
- // check we don't have fields we didn't specify
- expect(headerLine).to.not.include('id');
- });
-
- it('should output records in order specified by `options.sort` if present', async () => {
- const fields = ['name', 'id', 'thing_color', 'thing_shape'];
- const options = {
- sort: 'thing shape',
- 'no-header': true,
- };
-
- await outputDataSet(dataSet, fields, options);
-
- // blue should come before red
- expect(printLineSpy.getCall(0).firstArg).to.include('blue');
- expect(printLineSpy.getCall(1).firstArg).to.include('red');
- });
-
- it('should only output records that match filter specified by `options.filter` if present', async () => {
- const fields = ['name', 'id', 'thing_color', 'thing_shape'];
- const options = {
- filter: 'thing color=red',
- 'no-header': true,
- };
-
- await outputDataSet(dataSet, fields, options);
-
- // check correct number of rows (1 matched data, no-header)
- expect(printLineSpy.callCount).to.equal(1);
- expect(printLineSpy.getCall(0).firstArg).to.include('red');
- });
-
- it('should output data in json format, if `options.json` true', async () => {
- const fields = ['name', 'thing_color', 'thing_shape'];
- const options = {
- json: true,
- };
-
- // TODO: I've run into an oclif cli-ux bug, where numbers are output as strings in json
- // (this can be seen by including 'id' in the fields list above).
- // Issue opened: https://github.com/oclif/cli-ux/issues/309
- // For now removing id for this test.
- const clonedDataSet = JSON.parse(JSON.stringify(dataSet));
- clonedDataSet.forEach((d: any) => {
- delete d.id;
- });
-
- const expectedJson = JSON.stringify(clonedDataSet, undefined, 2);
-
- await outputDataSet(dataSet, fields, options);
-
- expect(printLineSpy.callCount).to.equal(1);
- expect(printLineSpy.getCall(0).firstArg).to.equal(expectedJson);
- });
-});
-
-describe('outputDataItem', function () {
- let outputDataItem: any;
- let printLineSpy: any;
-
- this.beforeEach(() => {
- const output = rewire('../../build/framework/output');
- printLineSpy = sinon.spy();
- output.__set__('printLine', printLineSpy);
- outputDataItem = output.__get__('outputDataItem');
- });
-
- it('should only output fields specified in `fields` param, in that order', async () => {
- const fields = ['id', 'name', 'thing_color'];
- const options = {};
-
- await outputDataItem(dataItem, fields, options);
-
- // check correct number of rows (3 fields)
- expect(printLineSpy.callCount).to.equal(3);
- // check we have fields we specified
- fields.forEach((f, index) => {
- const kvPair = printLineSpy.getCall(index).firstArg.split(':');
- expect(kvPair[0].toLowerCase()).to.include(f.replace(/_/g, ' '));
- expect(kvPair[1]).to.include((dataItem as any)[f]);
- });
- });
-
- it('should only output fields specified in `options.fields` if present', async () => {
- const fields = ['name', 'id', 'thing_color', 'thing_shape'];
- const options = {
- // test all formats
- fields: 'Name,thing_color,Thing shape',
- };
-
- const expectedFields = ['name', 'thing_color', 'thing_shape'];
-
- await outputDataItem(dataItem, fields, options);
-
- // check correct number of rows (3 fields)
- expect(printLineSpy.callCount).to.equal(3);
- // check we have fields we specified
- expectedFields.forEach((f, index) => {
- const kvPair = printLineSpy.getCall(index).firstArg.split(':');
- expect(kvPair[0].toLowerCase()).to.include(f.replace(/_/g, ' '));
- expect(kvPair[1]).to.include((dataItem as any)[f]);
- });
- });
-
- it('should output data in json format, if `options.json` true', async () => {
- const fields = ['name', 'id', 'thing_color', 'thing_shape'];
- const options = {
- json: true,
- };
-
- const expectedJson = JSON.stringify(dataItem, undefined, 2);
-
- await outputDataItem(dataItem, fields, options);
-
- expect(printLineSpy.callCount).to.equal(1);
- expect(printLineSpy.getCall(0).firstArg).to.equal(expectedJson);
- });
-});
diff --git a/tests/nock/balena-api-mock.ts b/tests/nock/balena-api-mock.ts
index 0d50f9d2..2dcaee39 100644
--- a/tests/nock/balena-api-mock.ts
+++ b/tests/nock/balena-api-mock.ts
@@ -390,9 +390,12 @@ export class BalenaAPIMock extends NockMock {
serviceName: string;
}) {
const serviceId = opts.serviceId || 243768;
- this.optGet(/^\/v\d+\/service($|\?)/, opts).reply(200, {
- d: [{ id: serviceId, service_name: opts.serviceName }],
- });
+ this.optGet(/^\/v\d+\/service(\(\w+=\d+,\w+=%27\w+%27\))?$/, opts).reply(
+ 200,
+ {
+ d: [{ id: serviceId, service_name: opts.serviceName }],
+ },
+ );
}
public expectGetServiceFromApp(opts: {
@@ -410,13 +413,6 @@ export class BalenaAPIMock extends NockMock {
);
}
- public expectPostService409(opts: ScopeOpts = {}) {
- this.optPost(/^\/v\d+\/service$/, opts).reply(
- 409,
- 'Unique key constraint violated',
- );
- }
-
/**
* Mocks balena-release call
*/
diff --git a/tests/utils/device/live.spec.ts b/tests/utils/device/live.spec.ts
index 844c01d2..6ca79bb6 100644
--- a/tests/utils/device/live.spec.ts
+++ b/tests/utils/device/live.spec.ts
@@ -21,7 +21,7 @@ import { promises as fs } from 'fs';
import * as path from 'path';
import { promisify } from 'util';
-import { LivepushManager } from '../../../lib/utils/device/live';
+import { LivepushManager } from '../../../src/utils/device/live';
import { resetDockerignoreCache } from '../../docker-build';
import { setupDockerignoreTestData } from '../../projects';
@@ -42,11 +42,11 @@ class MockLivepushManager extends LivepushManager {
composition: { version: '2.1', services: {} },
buildTasks: [],
docker: {} as import('dockerode'),
- api: {} as import('../../../lib/utils/device/api').DeviceAPI,
- logger: {} as import('../../../lib/utils/logger'),
+ api: {} as import('../../../src/utils/device/api').DeviceAPI,
+ logger: {} as import('../../../src/utils/logger'),
imageIds: {},
deployOpts:
- {} as import('../../../lib/utils/device/deploy').DeviceDeployOptions,
+ {} as import('../../../src/utils/device/deploy').DeviceDeployOptions,
});
}
diff --git a/tsconfig.dev.json b/tsconfig.dev.json
index 3b00a90e..9762f3df 100644
--- a/tsconfig.dev.json
+++ b/tsconfig.dev.json
@@ -6,7 +6,7 @@
},
"include": [
"./automation/**/*",
- "./lib/**/*",
+ "./src/**/*",
"./patches/*",
"./tests/**/*",
"./typings/**/*"
diff --git a/tsconfig.json b/tsconfig.json
index bfe183cb..8632c46d 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -20,5 +20,5 @@
],
"preserveSymlinks": true
},
- "include": ["./lib/**/*", "./typings/**/*"]
+ "include": ["./src/**/*", "./typings/**/*"]
}