balena-image-fs 7.4.1 → 7.5.0-build-add-find-partition-util-8b30c2987783cc2d6ea285c614d609f98d89060e-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/utils.d.ts +12 -0
- package/build/utils.js +43 -0
- package/build/utils.js.map +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file
|
|
|
4
4
|
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
|
5
5
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
+
## 7.5.0 - 2025-03-18
|
|
8
|
+
|
|
9
|
+
* Add function to find a partition by name/label [Ken Bannister]
|
|
10
|
+
|
|
7
11
|
## 7.4.1 - 2025-02-21
|
|
8
12
|
|
|
9
13
|
* bump ext2fs to 4.2.4 [Ryan Cooke]
|
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
|
@@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
|
|
|
15
15
|
limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.interact = exports.LabelNotFound = exports.getFsLabel = void 0;
|
|
18
|
+
exports.interact = exports.findPartition = exports.LabelNotFound = exports.getFsLabel = void 0;
|
|
19
19
|
/**
|
|
20
20
|
* @module imagefs
|
|
21
21
|
*/
|
|
@@ -29,6 +29,8 @@ const typed_error_1 = require("typed-error");
|
|
|
29
29
|
var fsLabel_1 = require("./fsLabel");
|
|
30
30
|
Object.defineProperty(exports, "getFsLabel", { enumerable: true, get: function () { return fsLabel_1.getFsLabel; } });
|
|
31
31
|
Object.defineProperty(exports, "LabelNotFound", { enumerable: true, get: function () { return fsLabel_1.LabelNotFound; } });
|
|
32
|
+
var utils_1 = require("./utils");
|
|
33
|
+
Object.defineProperty(exports, "findPartition", { enumerable: true, get: function () { return utils_1.findPartition; } });
|
|
32
34
|
class MountError extends typed_error_1.TypedError {
|
|
33
35
|
}
|
|
34
36
|
const SECTOR_SIZE = 512;
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF;;GAEG;AAEH,iCAAiC;AACjC,+BAA+B;AAC/B,yBAAyB;AACzB,+BAAiC;AACjC,yCAAyD;AACzD,+CAA+C;AAC/C,6CAAyC;AAEzC,qCAAqD;AAA5C,qGAAA,UAAU,OAAA;AAAE,wGAAA,aAAa,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
package/build/utils.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as filedisk from 'file-disk';
|
|
2
|
+
import type { GetPartitionsResult } from 'partitioninfo';
|
|
3
|
+
/**
|
|
4
|
+
* @summary Find the partition on the provided disk with a name that matches one
|
|
5
|
+
* of the provided names.
|
|
6
|
+
*
|
|
7
|
+
* Matches on partition name for GPT partitions or on filesystem label for MBR
|
|
8
|
+
* partitions.
|
|
9
|
+
*
|
|
10
|
+
* @returns Index of the matching partition or undefined
|
|
11
|
+
*/
|
|
12
|
+
export declare function findPartition(fileDisk: filedisk.FileDisk, partitionInfo: GetPartitionsResult, names: string[]): Promise<number | undefined>;
|
package/build/utils.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findPartition = void 0;
|
|
4
|
+
const fsLabel_1 = require("./fsLabel");
|
|
5
|
+
/**
|
|
6
|
+
* @summary Find the partition on the provided disk with a name that matches one
|
|
7
|
+
* of the provided names.
|
|
8
|
+
*
|
|
9
|
+
* Matches on partition name for GPT partitions or on filesystem label for MBR
|
|
10
|
+
* partitions.
|
|
11
|
+
*
|
|
12
|
+
* @returns Index of the matching partition or undefined
|
|
13
|
+
*/
|
|
14
|
+
async function findPartition(fileDisk, partitionInfo, names) {
|
|
15
|
+
const { partitions } = partitionInfo;
|
|
16
|
+
const isGPT = (partsInfo, _parts) => partsInfo.type === 'gpt';
|
|
17
|
+
if (isGPT(partitionInfo, partitions)) {
|
|
18
|
+
const partition = partitions.find((gptPartInfo) => names.includes(gptPartInfo.name));
|
|
19
|
+
if (partition && typeof partition.index === 'number') {
|
|
20
|
+
return partition.index;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
// MBR
|
|
25
|
+
for (const partition of partitions) {
|
|
26
|
+
try {
|
|
27
|
+
const label = await (0, fsLabel_1.getFsLabel)(fileDisk, partition);
|
|
28
|
+
if (names.includes(label) && typeof partition.index === 'number') {
|
|
29
|
+
return partition.index;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
// LabelNotFound is expected and not fatal.
|
|
34
|
+
if (!(e instanceof fsLabel_1.LabelNotFound)) {
|
|
35
|
+
throw e;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
exports.findPartition = findPartition;
|
|
43
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":";;;AAMA,uCAAsD;AAEtD;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CAClC,QAA2B,EAC3B,aAAkC,EAClC,KAAe;IAEf,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IACrC,MAAM,KAAK,GAAG,CACb,SAA8B,EAC9B,MAA0C,EACf,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC;IAExD,IAAI,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE;QACrC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,WAAyB,EAAE,EAAE,CAC/D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAChC,CAAC;QACF,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE;YACrD,OAAO,SAAS,CAAC,KAAK,CAAC;SACvB;KACD;SAAM;QACN,MAAM;QACN,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,IAAI;gBACH,MAAM,KAAK,GAAG,MAAM,IAAA,oBAAU,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE;oBACjE,OAAO,SAAS,CAAC,KAAK,CAAC;iBACvB;aACD;YAAC,OAAO,CAAC,EAAE;gBACX,2CAA2C;gBAC3C,IAAI,CAAC,CAAC,CAAC,YAAY,uBAAa,CAAC,EAAE;oBAClC,MAAM,CAAC,CAAC;iBACR;aACD;SACD;KACD;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAnCD,sCAmCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-image-fs",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0-build-add-find-partition-util-8b30c2987783cc2d6ea285c614d609f98d89060e-1",
|
|
4
4
|
"description": "Image filesystem manipulation utilities",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"homepage": "https://github.com/balena-io-modules/balena-image-fs",
|
|
@@ -59,6 +59,6 @@
|
|
|
59
59
|
"node": ">=16"
|
|
60
60
|
},
|
|
61
61
|
"versionist": {
|
|
62
|
-
"publishedAt": "2025-
|
|
62
|
+
"publishedAt": "2025-03-18T02:14:33.716Z"
|
|
63
63
|
}
|
|
64
64
|
}
|