@xpack/xpm-lib 3.1.2 → 4.0.0
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/README.md +16 -212
- package/dist/classes/actions.d.ts +58 -0
- package/dist/classes/actions.d.ts.map +1 -0
- package/dist/classes/actions.js +250 -0
- package/dist/classes/actions.js.map +1 -0
- package/dist/classes/build-configurations.d.ts +78 -0
- package/dist/classes/build-configurations.d.ts.map +1 -0
- package/dist/classes/build-configurations.js +489 -0
- package/dist/classes/build-configurations.js.map +1 -0
- package/dist/classes/combinations-generator.d.ts +19 -0
- package/dist/classes/combinations-generator.d.ts.map +1 -0
- package/dist/classes/combinations-generator.js +48 -0
- package/dist/classes/combinations-generator.js.map +1 -0
- package/dist/classes/data-model.d.ts +21 -0
- package/dist/classes/data-model.d.ts.map +1 -0
- package/dist/classes/data-model.js +47 -0
- package/dist/classes/data-model.js.map +1 -0
- package/dist/classes/errors.d.ts +13 -0
- package/dist/classes/errors.d.ts.map +1 -0
- package/dist/classes/errors.js +13 -0
- package/dist/classes/errors.js.map +1 -0
- package/dist/classes/init-template-base.d.ts +47 -0
- package/dist/classes/init-template-base.d.ts.map +1 -0
- package/dist/classes/init-template-base.js +358 -0
- package/dist/classes/init-template-base.js.map +1 -0
- package/dist/classes/liquid-drop.d.ts +28 -0
- package/dist/classes/liquid-drop.d.ts.map +1 -0
- package/dist/classes/liquid-drop.js +70 -0
- package/dist/classes/liquid-drop.js.map +1 -0
- package/dist/classes/liquid-engine.d.ts +7 -0
- package/dist/classes/liquid-engine.d.ts.map +1 -0
- package/dist/classes/liquid-engine.js +72 -0
- package/dist/classes/liquid-engine.js.map +1 -0
- package/dist/classes/package.d.ts +31 -0
- package/dist/classes/package.d.ts.map +1 -0
- package/dist/classes/package.js +268 -0
- package/dist/classes/package.js.map +1 -0
- package/dist/classes/platform-detector.d.ts +14 -0
- package/dist/classes/platform-detector.d.ts.map +1 -0
- package/dist/classes/platform-detector.js +26 -0
- package/dist/classes/platform-detector.js.map +1 -0
- package/dist/classes/policies.d.ts +14 -0
- package/dist/classes/policies.d.ts.map +1 -0
- package/dist/classes/policies.js +20 -0
- package/dist/classes/policies.js.map +1 -0
- package/dist/classes/template-expander.d.ts +29 -0
- package/dist/classes/template-expander.d.ts.map +1 -0
- package/dist/classes/template-expander.js +62 -0
- package/dist/classes/template-expander.js.map +1 -0
- package/dist/data/substitutions-variables.d.ts +43 -0
- package/dist/data/substitutions-variables.d.ts.map +1 -0
- package/dist/{lib → data}/substitutions-variables.js +1 -16
- package/dist/data/substitutions-variables.js.map +1 -0
- package/dist/functions/chmod-recursively.d.ts +9 -0
- package/dist/functions/chmod-recursively.d.ts.map +1 -0
- package/dist/functions/chmod-recursively.js +66 -0
- package/dist/functions/chmod-recursively.js.map +1 -0
- package/dist/functions/filter-paths.d.ts +5 -0
- package/dist/functions/filter-paths.d.ts.map +1 -0
- package/dist/functions/filter-paths.js +16 -0
- package/dist/functions/filter-paths.js.map +1 -0
- package/dist/functions/is-something.d.ts +9 -0
- package/dist/functions/is-something.d.ts.map +1 -0
- package/dist/functions/is-something.js +25 -0
- package/dist/functions/is-something.js.map +1 -0
- package/dist/functions/matrix-expander.d.ts +17 -0
- package/dist/functions/matrix-expander.d.ts.map +1 -0
- package/dist/functions/matrix-expander.js +52 -0
- package/dist/functions/matrix-expander.js.map +1 -0
- package/dist/functions/perform-substitutions.d.ts +12 -0
- package/dist/functions/perform-substitutions.d.ts.map +1 -0
- package/dist/functions/perform-substitutions.js +76 -0
- package/dist/functions/perform-substitutions.js.map +1 -0
- package/dist/functions/utils.d.ts +8 -0
- package/dist/functions/utils.d.ts.map +1 -0
- package/dist/functions/utils.js +16 -0
- package/dist/functions/utils.js.map +1 -0
- package/dist/index.d.ts +22 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -29
- package/dist/index.js.map +1 -1
- package/dist/{lib/types.d.ts → types/json.d.ts} +31 -22
- package/dist/types/json.d.ts.map +1 -0
- package/dist/types/json.js +2 -0
- package/dist/types/json.js.map +1 -0
- package/dist/types/xpm-init-template.d.ts +21 -0
- package/dist/types/xpm-init-template.d.ts.map +1 -0
- package/dist/types/xpm-init-template.js +2 -0
- package/dist/types/xpm-init-template.js.map +1 -0
- package/dist/types/xpm.d.ts +16 -0
- package/dist/types/xpm.d.ts.map +1 -0
- package/dist/types/xpm.js +2 -0
- package/dist/types/xpm.js.map +1 -0
- package/package.json +53 -44
- package/src/CODE-REVIEW.md +2167 -0
- package/src/README.md +393 -6
- package/src/classes/actions.ts +1157 -0
- package/src/classes/build-configurations.ts +2127 -0
- package/src/classes/combinations-generator.ts +331 -0
- package/src/classes/data-model.ts +337 -0
- package/src/classes/errors.ts +105 -0
- package/src/classes/init-template-base.ts +1028 -0
- package/src/classes/liquid-drop.ts +376 -0
- package/src/classes/liquid-engine.ts +249 -0
- package/src/classes/package.ts +765 -0
- package/src/classes/platform-detector.ts +237 -0
- package/src/classes/policies.ts +200 -0
- package/src/classes/template-expander.ts +330 -0
- package/src/data/substitutions-variables.ts +390 -0
- package/src/functions/chmod-recursively.ts +195 -0
- package/src/functions/filter-paths.ts +126 -0
- package/src/functions/is-something.ts +223 -0
- package/src/functions/matrix-expander.ts +172 -0
- package/src/functions/perform-substitutions.ts +253 -0
- package/src/functions/utils.ts +151 -0
- package/src/index.ts +72 -19
- package/src/types/json.ts +519 -0
- package/src/types/xpm-init-template.ts +282 -0
- package/src/types/xpm.ts +162 -0
- package/dist/lib/chmod-recursive.d.ts +0 -7
- package/dist/lib/chmod-recursive.d.ts.map +0 -1
- package/dist/lib/chmod-recursive.js +0 -81
- package/dist/lib/chmod-recursive.js.map +0 -1
- package/dist/lib/errors.d.ts +0 -11
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/errors.js +0 -26
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/functions/chmod-recursive.d.ts +0 -7
- package/dist/lib/functions/chmod-recursive.d.ts.map +0 -1
- package/dist/lib/functions/chmod-recursive.js +0 -81
- package/dist/lib/functions/chmod-recursive.js.map +0 -1
- package/dist/lib/functions/perform-substitutions.d.ts +0 -20
- package/dist/lib/functions/perform-substitutions.d.ts.map +0 -1
- package/dist/lib/functions/perform-substitutions.js +0 -85
- package/dist/lib/functions/perform-substitutions.js.map +0 -1
- package/dist/lib/functions/utils.d.ts +0 -30
- package/dist/lib/functions/utils.d.ts.map +0 -1
- package/dist/lib/functions/utils.js +0 -70
- package/dist/lib/functions/utils.js.map +0 -1
- package/dist/lib/init-template-base.d.ts +0 -46
- package/dist/lib/init-template-base.d.ts.map +0 -1
- package/dist/lib/init-template-base.js +0 -281
- package/dist/lib/init-template-base.js.map +0 -1
- package/dist/lib/liquid-actions.d.ts +0 -37
- package/dist/lib/liquid-actions.d.ts.map +0 -1
- package/dist/lib/liquid-actions.js +0 -148
- package/dist/lib/liquid-actions.js.map +0 -1
- package/dist/lib/liquid-build-configurations.d.ts +0 -47
- package/dist/lib/liquid-build-configurations.d.ts.map +0 -1
- package/dist/lib/liquid-build-configurations.js +0 -282
- package/dist/lib/liquid-build-configurations.js.map +0 -1
- package/dist/lib/liquid-drop.d.ts +0 -13
- package/dist/lib/liquid-drop.d.ts.map +0 -1
- package/dist/lib/liquid-drop.js +0 -56
- package/dist/lib/liquid-drop.js.map +0 -1
- package/dist/lib/liquid-engine.d.ts +0 -5
- package/dist/lib/liquid-engine.d.ts.map +0 -1
- package/dist/lib/liquid-engine.js +0 -85
- package/dist/lib/liquid-engine.js.map +0 -1
- package/dist/lib/liquid-package.d.ts +0 -17
- package/dist/lib/liquid-package.d.ts.map +0 -1
- package/dist/lib/liquid-package.js +0 -70
- package/dist/lib/liquid-package.js.map +0 -1
- package/dist/lib/package.d.ts +0 -66
- package/dist/lib/package.d.ts.map +0 -1
- package/dist/lib/package.js +0 -700
- package/dist/lib/package.js.map +0 -1
- package/dist/lib/perform-substitutions.d.ts +0 -20
- package/dist/lib/perform-substitutions.d.ts.map +0 -1
- package/dist/lib/perform-substitutions.js +0 -85
- package/dist/lib/perform-substitutions.js.map +0 -1
- package/dist/lib/policies.d.ts +0 -14
- package/dist/lib/policies.d.ts.map +0 -1
- package/dist/lib/policies.js +0 -33
- package/dist/lib/policies.js.map +0 -1
- package/dist/lib/substitutions-variables.d.ts +0 -117
- package/dist/lib/substitutions-variables.d.ts.map +0 -1
- package/dist/lib/substitutions-variables.js.map +0 -1
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -13
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -30
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -70
- package/dist/lib/utils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/lib/errors.ts +0 -29
- package/src/lib/functions/chmod-recursive.ts +0 -103
- package/src/lib/functions/perform-substitutions.ts +0 -116
- package/src/lib/functions/utils.ts +0 -88
- package/src/lib/init-template-base.ts +0 -408
- package/src/lib/liquid-actions.ts +0 -223
- package/src/lib/liquid-build-configurations.ts +0 -433
- package/src/lib/liquid-drop.ts +0 -99
- package/src/lib/liquid-engine.ts +0 -135
- package/src/lib/liquid-package.ts +0 -108
- package/src/lib/package.ts +0 -947
- package/src/lib/policies.ts +0 -51
- package/src/lib/substitutions-variables.ts +0 -177
- package/src/lib/types.ts +0 -109
- package/src/package.json +0 -3
- package/src/tsconfig.json +0 -10
|
@@ -1,19 +1,6 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
-
* Copyright (c) 2021-2026 Liviu Ionescu. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software
|
|
6
|
-
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
-
*
|
|
8
|
-
* If a copy of the license was not distributed with this file, it can
|
|
9
|
-
* be obtained from https://opensource.org/license/mit.
|
|
10
|
-
*/
|
|
11
|
-
/* eslint max-len: [ "error", 80, { "ignoreUrls": true } ] */
|
|
12
|
-
// ----------------------------------------------------------------------------
|
|
13
1
|
import * as os from 'node:os';
|
|
14
2
|
import * as path from 'node:path';
|
|
15
|
-
|
|
16
|
-
export const xpmLiquidSubstitutionsVariablesBase = {
|
|
3
|
+
export const liquidSubstitutionsVariablesBase = {
|
|
17
4
|
env: process.env,
|
|
18
5
|
os: {
|
|
19
6
|
EOL: os.EOL,
|
|
@@ -30,7 +17,6 @@ export const xpmLiquidSubstitutionsVariablesBase = {
|
|
|
30
17
|
release: os.release(),
|
|
31
18
|
tmpdir: os.tmpdir(),
|
|
32
19
|
type: os.type(),
|
|
33
|
-
// os.version() available since 12.x
|
|
34
20
|
version: os.version(),
|
|
35
21
|
},
|
|
36
22
|
path: {
|
|
@@ -47,5 +33,4 @@ export const xpmLiquidSubstitutionsVariablesBase = {
|
|
|
47
33
|
},
|
|
48
34
|
properties: {},
|
|
49
35
|
};
|
|
50
|
-
// ----------------------------------------------------------------------------
|
|
51
36
|
//# sourceMappingURL=substitutions-variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substitutions-variables.js","sourceRoot":"","sources":["../../src/data/substitutions-variables.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAoVjC,MAAM,CAAC,MAAM,gCAAgC,GAAiC;IAC5E,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,EAAE,EAAE;QACF,GAAG,EAAE,EAAE,CAAC,GAAG;QACX,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QACf,SAAS,EAAE;YACT,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO;YAC7B,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK;SAC1B;QACD,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QACf,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE;QAC3B,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;QACrB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;QACvB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;QACrB,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QAEf,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;KACtB;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE;YACL,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;SACpB;QACD,KAAK,EAAE;YACL,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;SACpB;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Logger } from '@xpack/logger';
|
|
2
|
+
export declare function chmodRecursively({ inputPath, readOnly, log, depth, maxDepth, }: {
|
|
3
|
+
inputPath: string;
|
|
4
|
+
readOnly: boolean;
|
|
5
|
+
log: Logger;
|
|
6
|
+
depth?: number;
|
|
7
|
+
maxDepth?: number;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=chmod-recursively.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chmod-recursively.d.ts","sourceRoot":"","sources":["../../src/functions/chmod-recursively.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAoEtC,wBAAsB,gBAAgB,CAAC,EACrC,SAAS,EACT,QAAQ,EACR,GAAG,EACH,KAAS,EACT,QAAsC,GACvC,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FhB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import { ConfigurationError } from '../index.js';
|
|
5
|
+
const CHMOD_RECURSIVELY_MAX_DEPTH = 42;
|
|
6
|
+
export async function chmodRecursively({ inputPath, readOnly, log, depth = 0, maxDepth = CHMOD_RECURSIVELY_MAX_DEPTH, }) {
|
|
7
|
+
assert(inputPath, 'inputPath is required');
|
|
8
|
+
assert(log, 'log is required');
|
|
9
|
+
assert(maxDepth > 0, 'maxDepth must be a positive integer');
|
|
10
|
+
if (depth > maxDepth) {
|
|
11
|
+
throw new ConfigurationError(`Recursion depth limit exceeded ` +
|
|
12
|
+
`(${String(maxDepth)} levels) ` +
|
|
13
|
+
`whilst processing: ${inputPath}`);
|
|
14
|
+
}
|
|
15
|
+
const stat = await fs.lstat(inputPath);
|
|
16
|
+
if (stat.isSymbolicLink()) {
|
|
17
|
+
log.trace(inputPath, 'is a symbolic link, skipping');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (readOnly && stat.isDirectory()) {
|
|
21
|
+
log.trace(inputPath);
|
|
22
|
+
const dirents = await fs.readdir(inputPath, {
|
|
23
|
+
withFileTypes: true,
|
|
24
|
+
});
|
|
25
|
+
for (const dirent of dirents) {
|
|
26
|
+
await chmodRecursively({
|
|
27
|
+
inputPath: path.resolve(inputPath, dirent.name),
|
|
28
|
+
readOnly,
|
|
29
|
+
log,
|
|
30
|
+
depth: depth + 1,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const mode = stat.mode;
|
|
35
|
+
const newMode = readOnly
|
|
36
|
+
? mode &
|
|
37
|
+
~(fs.constants.S_IWUSR | fs.constants.S_IWGRP | fs.constants.S_IWOTH)
|
|
38
|
+
: mode | fs.constants.S_IWUSR;
|
|
39
|
+
await fs.chmod(inputPath, newMode);
|
|
40
|
+
const actualStat = await fs.stat(inputPath);
|
|
41
|
+
if (readOnly) {
|
|
42
|
+
if ((actualStat.mode & fs.constants.S_IWUSR) !== 0) {
|
|
43
|
+
log.warn(`${inputPath} not set to RO`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if ((actualStat.mode & fs.constants.S_IWUSR) === 0) {
|
|
48
|
+
log.warn(`${inputPath} not set to RW`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (!readOnly && stat.isDirectory()) {
|
|
52
|
+
log.trace(inputPath);
|
|
53
|
+
const dirents = await fs.readdir(inputPath, {
|
|
54
|
+
withFileTypes: true,
|
|
55
|
+
});
|
|
56
|
+
for (const dirent of dirents) {
|
|
57
|
+
await chmodRecursively({
|
|
58
|
+
inputPath: path.resolve(inputPath, dirent.name),
|
|
59
|
+
readOnly,
|
|
60
|
+
log,
|
|
61
|
+
depth: depth + 1,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=chmod-recursively.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chmod-recursively.js","sourceRoot":"","sources":["../../src/functions/chmod-recursively.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PlatformDetector } from '../classes/platform-detector.js';
|
|
2
|
+
export declare function filterPath(input: string, platformDetector?: PlatformDetector): string;
|
|
3
|
+
export declare function filterPosixPath(input: string): string;
|
|
4
|
+
export declare function filterWin32Path(input: string): string;
|
|
5
|
+
//# sourceMappingURL=filter-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-paths.d.ts","sourceRoot":"","sources":["../../src/functions/filter-paths.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAqClE,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,gBAAgB,GAAE,gBAAyC,GAC1D,MAAM,CAKR;AA2BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AA4BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PlatformDetector } from '../classes/platform-detector.js';
|
|
2
|
+
export function filterPath(input, platformDetector = new PlatformDetector()) {
|
|
3
|
+
const fixed = platformDetector.isWindows()
|
|
4
|
+
? input.replace(/[^a-zA-Z0-9\\:]+/g, '-')
|
|
5
|
+
: input.replace(/[^a-zA-Z0-9/]+/g, '-');
|
|
6
|
+
return fixed.replace(/--/g, '-');
|
|
7
|
+
}
|
|
8
|
+
export function filterPosixPath(input) {
|
|
9
|
+
const fixed = input.replace(/[^a-zA-Z0-9/]+/g, '-');
|
|
10
|
+
return fixed.replace(/--/g, '-');
|
|
11
|
+
}
|
|
12
|
+
export function filterWin32Path(input) {
|
|
13
|
+
const fixed = input.replace(/[^a-zA-Z0-9\\:]+/g, '-');
|
|
14
|
+
return fixed.replace(/--/g, '-');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=filter-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-paths.js","sourceRoot":"","sources":["../../src/functions/filter-paths.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAqClE,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,mBAAqC,IAAI,gBAAgB,EAAE;IAE3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE;QACxC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AA2BD,MAAM,UAAU,eAAe,CAAC,KAAa;IAE3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IAEnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AA4BD,MAAM,UAAU,eAAe,CAAC,KAAa;IAE3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;IAErD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function isPrimitive(value: unknown): boolean;
|
|
2
|
+
export declare function isString(value: unknown): boolean;
|
|
3
|
+
export declare function isNumber(value: unknown): boolean;
|
|
4
|
+
export declare function isBoolean(value: unknown): boolean;
|
|
5
|
+
export declare function isObject(value: unknown): boolean;
|
|
6
|
+
export declare function isJsonObject(value: unknown): boolean;
|
|
7
|
+
export declare function isJsonArray(value: unknown): boolean;
|
|
8
|
+
export declare function isNonEmptyJsonObject(value: unknown): boolean;
|
|
9
|
+
//# sourceMappingURL=is-something.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-something.d.ts","sourceRoot":"","sources":["../../src/functions/is-something.ts"],"names":[],"mappings":"AAkCA,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAInD;AAwBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AA6BD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAoBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEjD;AAsBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAyBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAsBD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnD;AA0BD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function isPrimitive(value) {
|
|
2
|
+
return ((typeof value !== 'object' && typeof value !== 'function') || value === null);
|
|
3
|
+
}
|
|
4
|
+
export function isString(value) {
|
|
5
|
+
return typeof value === 'string';
|
|
6
|
+
}
|
|
7
|
+
export function isNumber(value) {
|
|
8
|
+
return typeof value === 'number' && isFinite(value);
|
|
9
|
+
}
|
|
10
|
+
export function isBoolean(value) {
|
|
11
|
+
return typeof value === 'boolean';
|
|
12
|
+
}
|
|
13
|
+
export function isObject(value) {
|
|
14
|
+
return typeof value === 'object' && !Array.isArray(value);
|
|
15
|
+
}
|
|
16
|
+
export function isJsonObject(value) {
|
|
17
|
+
return value !== undefined && !isPrimitive(value) && !Array.isArray(value);
|
|
18
|
+
}
|
|
19
|
+
export function isJsonArray(value) {
|
|
20
|
+
return value !== undefined && Array.isArray(value);
|
|
21
|
+
}
|
|
22
|
+
export function isNonEmptyJsonObject(value) {
|
|
23
|
+
return isJsonObject(value) && Object.keys(value).length > 0;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=is-something.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-something.js","sourceRoot":"","sources":["../../src/functions/is-something.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,CACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,CAC7E,CAAA;AACH,CAAC;AAwBD,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC;AA6BD,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAA;AACrD,CAAC;AAoBD,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;AACnC,CAAC;AAsBD,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC3D,CAAC;AAyBD,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC5E,CAAC;AAsBD,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACpD,CAAC;AA0BD,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AACvE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Logger } from '@xpack/logger';
|
|
2
|
+
import { LiquidEngine } from '../classes/liquid-engine.js';
|
|
3
|
+
import { LiquidSubstitutionsVariables } from '../data/substitutions-variables.js';
|
|
4
|
+
import { JsonTemplateMatrix } from '../types/json.js';
|
|
5
|
+
export interface ProcessedMatrix {
|
|
6
|
+
matrixKeys: string[];
|
|
7
|
+
matrixValues: string[][];
|
|
8
|
+
}
|
|
9
|
+
export declare function processMatrixForExpansion({ matrix, templateName, templateType, engine, substitutionsVariables, log, }: {
|
|
10
|
+
matrix: JsonTemplateMatrix;
|
|
11
|
+
templateName: string;
|
|
12
|
+
templateType: 'action' | 'buildConfiguration';
|
|
13
|
+
engine: LiquidEngine;
|
|
14
|
+
substitutionsVariables: LiquidSubstitutionsVariables;
|
|
15
|
+
log: Logger;
|
|
16
|
+
}): Promise<ProcessedMatrix>;
|
|
17
|
+
//# sourceMappingURL=matrix-expander.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix-expander.d.ts","sourceRoot":"","sources":["../../src/functions/matrix-expander.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAItC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AAMjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAWrD,MAAM,WAAW,eAAe;IAI9B,UAAU,EAAE,MAAM,EAAE,CAAA;IAKpB,YAAY,EAAE,MAAM,EAAE,EAAE,CAAA;CACzB;AA8CD,wBAAsB,yBAAyB,CAAC,EAC9C,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,sBAAsB,EACtB,GAAG,GACJ,EAAE;IACD,MAAM,EAAE,kBAAkB,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,QAAQ,GAAG,oBAAoB,CAAA;IAC7C,MAAM,EAAE,YAAY,CAAA;IACpB,sBAAsB,EAAE,4BAA4B,CAAA;IACpD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CA8D3B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as os from 'node:os';
|
|
2
|
+
import { ConfigurationError } from '../classes/errors.js';
|
|
3
|
+
import { isJsonArray, isString } from './is-something.js';
|
|
4
|
+
import { performSubstitutions } from './perform-substitutions.js';
|
|
5
|
+
import { hasLiquidSyntax } from './utils.js';
|
|
6
|
+
import { getErrorMessage } from './utils.js';
|
|
7
|
+
export async function processMatrixForExpansion({ matrix, templateName, templateType, engine, substitutionsVariables, log, }) {
|
|
8
|
+
const matrixKeys = [];
|
|
9
|
+
const matrixValues = [];
|
|
10
|
+
for (const [matrixKey, matrixValueArray] of Object.entries(matrix)) {
|
|
11
|
+
if (!isJsonArray(matrixValueArray)) {
|
|
12
|
+
throw new ConfigurationError(`${templateType} "${templateName}" ` +
|
|
13
|
+
`matrix.${matrixKey} is not an array`);
|
|
14
|
+
}
|
|
15
|
+
if (matrixValueArray.length === 0) {
|
|
16
|
+
throw new ConfigurationError(`${templateType} "${templateName}" ` +
|
|
17
|
+
`matrix.${matrixKey} cannot be empty`);
|
|
18
|
+
}
|
|
19
|
+
const validatedArray = matrixValueArray;
|
|
20
|
+
for (const matrixValue of validatedArray) {
|
|
21
|
+
if (!isString(matrixValue)) {
|
|
22
|
+
throw new ConfigurationError(`${templateType} "${templateName}" ` +
|
|
23
|
+
`matrix.${matrixKey} value is not a string`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
matrixKeys.push(matrixKey);
|
|
27
|
+
const stringValue = validatedArray.join(os.EOL);
|
|
28
|
+
if (hasLiquidSyntax(stringValue)) {
|
|
29
|
+
let substitutedValue;
|
|
30
|
+
try {
|
|
31
|
+
substitutedValue = await performSubstitutions({
|
|
32
|
+
input: stringValue,
|
|
33
|
+
engine,
|
|
34
|
+
substitutionsVariables,
|
|
35
|
+
log,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const message = getErrorMessage(error) +
|
|
40
|
+
` in ${templateType} "${templateName}" ` +
|
|
41
|
+
`matrix substitution`;
|
|
42
|
+
throw new ConfigurationError(message);
|
|
43
|
+
}
|
|
44
|
+
matrixValues.push(substitutedValue.replace(new RegExp(os.EOL + '$'), '').split(os.EOL));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
matrixValues.push(validatedArray);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return { matrixKeys, matrixValues };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=matrix-expander.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix-expander.js","sourceRoot":"","sources":["../../src/functions/matrix-expander.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAQ7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAoE5C,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,sBAAsB,EACtB,GAAG,GAQJ;IACC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,YAAY,GAAe,EAAE,CAAA;IAEnC,KAAK,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,kBAAkB,CAC1B,GAAG,YAAY,KAAK,YAAY,IAAI;gBAClC,UAAU,SAAS,kBAAkB,CACxC,CAAA;QACH,CAAC;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,kBAAkB,CAC1B,GAAG,YAAY,KAAK,YAAY,IAAI;gBAClC,UAAU,SAAS,kBAAkB,CACxC,CAAA;QACH,CAAC;QAGD,MAAM,cAAc,GAAG,gBAA6B,CAAA;QAEpD,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,kBAAkB,CAC1B,GAAG,YAAY,KAAK,YAAY,IAAI;oBAClC,UAAU,SAAS,wBAAwB,CAC9C,CAAA;YACH,CAAC;QACH,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1B,MAAM,WAAW,GAAI,cAA2B,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;QAE7D,IAAI,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,IAAI,gBAAgB,CAAA;YACpB,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,oBAAoB,CAAC;oBAC5C,KAAK,EAAE,WAAW;oBAClB,MAAM;oBACN,sBAAsB;oBACtB,GAAG;iBACJ,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GACX,eAAe,CAAC,KAAK,CAAC;oBACtB,OAAO,YAAY,KAAK,YAAY,IAAI;oBACxC,qBAAqB,CAAA;gBACvB,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAA;YACvC,CAAC;YAGD,YAAY,CAAC,IAAI,CACf,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CACrE,CAAA;QACH,CAAC;aAAM,CAAC;YAEN,YAAY,CAAC,IAAI,CAAC,cAA0B,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AACrC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Logger } from '@xpack/logger';
|
|
2
|
+
import { LiquidEngine } from '../classes/liquid-engine.js';
|
|
3
|
+
import { LiquidSubstitutionsVariables } from '../data/substitutions-variables.js';
|
|
4
|
+
export declare function performSubstitutions({ engine, input, substitutionsVariables, log, maxIterations, maxOutputSize, }: {
|
|
5
|
+
engine: LiquidEngine;
|
|
6
|
+
input: string;
|
|
7
|
+
substitutionsVariables: LiquidSubstitutionsVariables;
|
|
8
|
+
log: Logger;
|
|
9
|
+
maxIterations?: number;
|
|
10
|
+
maxOutputSize?: number;
|
|
11
|
+
}): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=perform-substitutions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perform-substitutions.d.ts","sourceRoot":"","sources":["../../src/functions/perform-substitutions.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAItC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAM1D,OAAO,EACL,4BAA4B,EAE7B,MAAM,oCAAoC,CAAA;AAyE3C,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,KAAK,EACL,sBAAsB,EACtB,GAAG,EACH,aAAmD,EACnD,aAAoD,GACrD,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,sBAAsB,EAAE,4BAA4B,CAAA;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqIlB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { Context } from 'liquidjs';
|
|
3
|
+
import { TemplateError } from '../classes/errors.js';
|
|
4
|
+
import { LiquidPropertiesDrop, LiquidMatrixDrop, } from '../classes/liquid-drop.js';
|
|
5
|
+
const PERFORM_SUBSTITUTION_MAX_ITERATIONS = 42;
|
|
6
|
+
const PERFORM_SUBSTITUTION_MAX_OUTPUT_SIZE = 42 * 1024;
|
|
7
|
+
export async function performSubstitutions({ engine, input, substitutionsVariables, log, maxIterations = PERFORM_SUBSTITUTION_MAX_ITERATIONS, maxOutputSize = PERFORM_SUBSTITUTION_MAX_OUTPUT_SIZE, }) {
|
|
8
|
+
assert(engine, 'engine is required');
|
|
9
|
+
assert(substitutionsVariables, 'substitutionsVariables is required');
|
|
10
|
+
assert(log, 'log is required');
|
|
11
|
+
assert(maxIterations > 0, 'maxIterations must be a positive integer');
|
|
12
|
+
assert(maxOutputSize > 0, 'maxOutputSize must be a positive integer');
|
|
13
|
+
if (input.trim() === '') {
|
|
14
|
+
return input;
|
|
15
|
+
}
|
|
16
|
+
let properties = substitutionsVariables.properties;
|
|
17
|
+
let matrix = substitutionsVariables.matrix;
|
|
18
|
+
if (Object.keys(substitutionsVariables.properties).length > 0) {
|
|
19
|
+
properties = new LiquidPropertiesDrop({
|
|
20
|
+
log,
|
|
21
|
+
engine,
|
|
22
|
+
properties: substitutionsVariables.properties,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (substitutionsVariables.matrix &&
|
|
26
|
+
Object.keys(substitutionsVariables.matrix).length > 0) {
|
|
27
|
+
matrix = new LiquidMatrixDrop({
|
|
28
|
+
log,
|
|
29
|
+
engine,
|
|
30
|
+
matrix: substitutionsVariables.matrix,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const context = new Context({
|
|
34
|
+
...substitutionsVariables,
|
|
35
|
+
properties,
|
|
36
|
+
matrix,
|
|
37
|
+
}, engine.options, { sync: false });
|
|
38
|
+
log.trace(`performSubstitutions('${input}')`);
|
|
39
|
+
let current = input;
|
|
40
|
+
let substituted = current;
|
|
41
|
+
let count = 0;
|
|
42
|
+
const LIQUID_SYNTAX_REGEX = /\{\{|\{%/;
|
|
43
|
+
while (LIQUID_SYNTAX_REGEX.test(current)) {
|
|
44
|
+
if (++count > maxIterations) {
|
|
45
|
+
throw new TemplateError(`Substitution limit exceeded ` +
|
|
46
|
+
`(${String(maxIterations)} iterations). ` +
|
|
47
|
+
`Possible circular reference in template.`);
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
substituted = (await engine.parseAndRender(current, context));
|
|
51
|
+
if (substituted.length > maxOutputSize) {
|
|
52
|
+
throw new TemplateError(`Template expansion exceeded size limit ` +
|
|
53
|
+
`(${String(maxOutputSize)} bytes). ` +
|
|
54
|
+
`Output was ${String(substituted.length)} bytes.`);
|
|
55
|
+
}
|
|
56
|
+
if (substituted === current) {
|
|
57
|
+
log.warn(`performSubstitutions() step ${String(count)} => (`, substituted, ') did not change');
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (error instanceof Error) {
|
|
63
|
+
log.trace(`Liquid error: ${error.message}`);
|
|
64
|
+
const cleanMessage = error.message.replace(/, line:.*/g, '');
|
|
65
|
+
throw new TemplateError(cleanMessage);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
throw new TemplateError(String(error));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
log.trace(`performSubstitutions() step ${String(count)} => (`, substituted, ')');
|
|
72
|
+
current = substituted;
|
|
73
|
+
}
|
|
74
|
+
return substituted;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=perform-substitutions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perform-substitutions.js","sourceRoot":"","sources":["../../src/functions/perform-substitutions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlatformDetector } from '../classes/platform-detector.js';
|
|
2
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
3
|
+
export declare function getPlatformKey({ doForce32bit, platformDetector, }?: {
|
|
4
|
+
doForce32bit?: boolean;
|
|
5
|
+
platformDetector?: PlatformDetector;
|
|
6
|
+
}): string;
|
|
7
|
+
export declare function hasLiquidSyntax(value: string): boolean;
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAsClE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD;AA0CD,wBAAgB,cAAc,CAAC,EAC7B,YAAoB,EACpB,gBAAyC,GAC1C,GAAE;IACD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CAC/B,GAAG,MAAM,CAId;AAsCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PlatformDetector } from '../classes/platform-detector.js';
|
|
2
|
+
export function getErrorMessage(error) {
|
|
3
|
+
if (error instanceof Error) {
|
|
4
|
+
return error.message;
|
|
5
|
+
}
|
|
6
|
+
return String(error);
|
|
7
|
+
}
|
|
8
|
+
export function getPlatformKey({ doForce32bit = false, platformDetector = new PlatformDetector(), } = {}) {
|
|
9
|
+
const { platform, arch } = platformDetector.getPlatformInfo({ doForce32bit });
|
|
10
|
+
const key = `${platform}-${arch}`;
|
|
11
|
+
return key;
|
|
12
|
+
}
|
|
13
|
+
export function hasLiquidSyntax(value) {
|
|
14
|
+
return /\{\{|\{%/.test(value);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAsClE,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AA0CD,MAAM,UAAU,cAAc,CAAC,EAC7B,YAAY,GAAG,KAAK,EACpB,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,MAIvC,EAAE;IACJ,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;IAC7E,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAA;IACjC,OAAO,GAAG,CAAA;AACZ,CAAC;AAsCD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './
|
|
8
|
-
export * from './
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './
|
|
14
|
-
export * from './
|
|
15
|
-
export * from '
|
|
1
|
+
export * from './functions/chmod-recursively.js';
|
|
2
|
+
export * from './functions/filter-paths.js';
|
|
3
|
+
export * from './functions/is-something.js';
|
|
4
|
+
export * from './functions/matrix-expander.js';
|
|
5
|
+
export * from './functions/perform-substitutions.js';
|
|
6
|
+
export * from './functions/utils.js';
|
|
7
|
+
export * from './classes/errors.js';
|
|
8
|
+
export * from './classes/init-template-base.js';
|
|
9
|
+
export * from './classes/actions.js';
|
|
10
|
+
export * from './classes/build-configurations.js';
|
|
11
|
+
export * from './classes/combinations-generator.js';
|
|
12
|
+
export * from './classes/liquid-drop.js';
|
|
13
|
+
export * from './classes/liquid-engine.js';
|
|
14
|
+
export * from './classes/data-model.js';
|
|
15
|
+
export * from './classes/package.js';
|
|
16
|
+
export * from './classes/platform-detector.js';
|
|
17
|
+
export * from './classes/policies.js';
|
|
18
|
+
export * from './classes/template-expander.js';
|
|
19
|
+
export * from './data/substitutions-variables.js';
|
|
20
|
+
export * from './types/json.js';
|
|
21
|
+
export * from './types/xpm-init-template.js';
|
|
22
|
+
export * from './types/xpm.js';
|
|
16
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsDA,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sCAAsC,CAAA;AACpD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAE9C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,30 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export * from './
|
|
15
|
-
export * from './
|
|
16
|
-
export * from './
|
|
17
|
-
export * from './
|
|
18
|
-
export * from './
|
|
19
|
-
export * from './
|
|
20
|
-
export * from './
|
|
21
|
-
export * from './
|
|
22
|
-
export * from './
|
|
23
|
-
export * from './lib/liquid-package.js';
|
|
24
|
-
export * from './lib/package.js';
|
|
25
|
-
export * from './lib/policies.js';
|
|
26
|
-
export * from './lib/substitutions-variables.js';
|
|
27
|
-
export * from './lib/types.js';
|
|
28
|
-
export * from 'liquidjs';
|
|
29
|
-
// ----------------------------------------------------------------------------
|
|
1
|
+
export * from './functions/chmod-recursively.js';
|
|
2
|
+
export * from './functions/filter-paths.js';
|
|
3
|
+
export * from './functions/is-something.js';
|
|
4
|
+
export * from './functions/matrix-expander.js';
|
|
5
|
+
export * from './functions/perform-substitutions.js';
|
|
6
|
+
export * from './functions/utils.js';
|
|
7
|
+
export * from './classes/errors.js';
|
|
8
|
+
export * from './classes/init-template-base.js';
|
|
9
|
+
export * from './classes/actions.js';
|
|
10
|
+
export * from './classes/build-configurations.js';
|
|
11
|
+
export * from './classes/combinations-generator.js';
|
|
12
|
+
export * from './classes/liquid-drop.js';
|
|
13
|
+
export * from './classes/liquid-engine.js';
|
|
14
|
+
export * from './classes/data-model.js';
|
|
15
|
+
export * from './classes/package.js';
|
|
16
|
+
export * from './classes/platform-detector.js';
|
|
17
|
+
export * from './classes/policies.js';
|
|
18
|
+
export * from './classes/template-expander.js';
|
|
19
|
+
export * from './data/substitutions-variables.js';
|
|
20
|
+
export * from './types/json.js';
|
|
21
|
+
export * from './types/xpm-init-template.js';
|
|
22
|
+
export * from './types/xpm.js';
|
|
30
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsDA,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sCAAsC,CAAA;AACpD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAE9C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
export type JsonActionValue = string | string[];
|
|
3
|
-
export type JsonPropertyValue = string;
|
|
1
|
+
export type JsonPropertyValue = any;
|
|
4
2
|
export type JsonProperties = Record<string, JsonPropertyValue>;
|
|
5
3
|
export type JsonBuildConfigurationInherits = string[];
|
|
6
|
-
export type JsonActions = Record<string, JsonActionValue>;
|
|
7
4
|
export type JsonScripts = Record<string, string>;
|
|
8
|
-
export type JsonDependencies = Record<string,
|
|
9
|
-
export type
|
|
10
|
-
export interface
|
|
5
|
+
export type JsonDependencies = Record<string, JsonDependenciesContent>;
|
|
6
|
+
export type JsonDependenciesContent = string | JsonDependencyExtended;
|
|
7
|
+
export interface JsonDependencyExtended {
|
|
8
|
+
specifier: string;
|
|
9
|
+
local?: 'link' | 'copy';
|
|
10
|
+
platforms?: string | string[];
|
|
11
|
+
}
|
|
12
|
+
export type JsonActionContent = string | string[];
|
|
13
|
+
export interface JsonActionTemplate {
|
|
14
|
+
matrix: JsonTemplateMatrix;
|
|
15
|
+
template: JsonActionContent;
|
|
16
|
+
}
|
|
17
|
+
export type JsonAction = JsonActionContent | JsonActionTemplate;
|
|
18
|
+
export type JsonActions = Record<string, JsonAction>;
|
|
19
|
+
export interface JsonBuildConfigurationContent {
|
|
11
20
|
inherits?: JsonBuildConfigurationInherits | string;
|
|
12
21
|
inherit?: JsonBuildConfigurationInherits | string;
|
|
13
22
|
hidden?: boolean;
|
|
@@ -15,17 +24,25 @@ export interface JsonBuildConfiguration {
|
|
|
15
24
|
actions?: JsonActions;
|
|
16
25
|
dependencies?: JsonDependencies;
|
|
17
26
|
devDependencies?: JsonDependencies;
|
|
27
|
+
[key: string]: JsonPropertyValue;
|
|
28
|
+
}
|
|
29
|
+
export interface JsonBuildConfigurationTemplate {
|
|
30
|
+
matrix: JsonTemplateMatrix;
|
|
31
|
+
template: JsonBuildConfigurationContent;
|
|
18
32
|
}
|
|
33
|
+
export type JsonTemplateMatrix = Record<string, JsonTemplateMatrixContent>;
|
|
34
|
+
export type JsonTemplateMatrixContent = string[];
|
|
35
|
+
export type JsonBuildConfiguration = JsonBuildConfigurationContent | JsonBuildConfigurationTemplate;
|
|
19
36
|
export type JsonBuildConfigurations = Record<string, JsonBuildConfiguration>;
|
|
20
37
|
export interface JsonXpack {
|
|
21
38
|
minimumXpmRequired?: string;
|
|
22
39
|
binaries?: JsonXpmBinaries;
|
|
23
40
|
executables?: Record<string, string>;
|
|
24
41
|
bin?: Record<string, string>;
|
|
25
|
-
properties?: JsonProperties;
|
|
26
|
-
actions?: JsonActions;
|
|
27
42
|
dependencies?: JsonDependencies;
|
|
28
43
|
devDependencies?: JsonDependencies;
|
|
44
|
+
properties?: JsonProperties;
|
|
45
|
+
actions?: JsonActions;
|
|
29
46
|
buildConfigurations?: JsonBuildConfigurations;
|
|
30
47
|
}
|
|
31
48
|
export type JsonXpmBinariesPlatforms = Record<string, JsonXpmPlatformFile>;
|
|
@@ -54,17 +71,9 @@ export interface JsonNpmPackage {
|
|
|
54
71
|
export interface JsonXpmPackage extends JsonNpmPackage {
|
|
55
72
|
xpack: JsonXpack;
|
|
56
73
|
}
|
|
57
|
-
export
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
isDryRun?: boolean;
|
|
62
|
-
properties?: Record<string, string | boolean | number>;
|
|
63
|
-
[key: string]: unknown;
|
|
64
|
-
}
|
|
65
|
-
export interface XpmContext {
|
|
66
|
-
log: Logger;
|
|
67
|
-
config: XpmConfig;
|
|
68
|
-
[key: string]: any;
|
|
74
|
+
export interface JsonPackageSpecifier {
|
|
75
|
+
scope?: string;
|
|
76
|
+
name?: string;
|
|
77
|
+
version?: string;
|
|
69
78
|
}
|
|
70
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/types/json.ts"],"names":[],"mappings":"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"}
|