@udondan/avanti 0.19.1 → 0.21.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 +239 -27
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +51 -12
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/lock.d.ts.map +1 -1
- package/dist/commands/lock.js +19 -5
- package/dist/commands/lock.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +135 -15
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +1 -1
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/revert.d.ts.map +1 -1
- package/dist/commands/revert.js +1 -1
- package/dist/commands/revert.js.map +1 -1
- package/dist/condition.d.ts +4 -0
- package/dist/condition.d.ts.map +1 -0
- package/dist/condition.js +86 -0
- package/dist/condition.js.map +1 -0
- package/dist/config-writeback.d.ts.map +1 -1
- package/dist/config-writeback.js +26 -3
- package/dist/config-writeback.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +278 -34
- package/dist/config.js.map +1 -1
- package/dist/history.d.ts +9 -0
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +59 -1
- package/dist/history.js.map +1 -1
- package/dist/processors/insert.d.ts +3 -0
- package/dist/processors/insert.d.ts.map +1 -0
- package/dist/processors/insert.js +285 -0
- package/dist/processors/insert.js.map +1 -0
- package/dist/processors/json.d.ts +1 -1
- package/dist/processors/json.d.ts.map +1 -1
- package/dist/processors/json.js +124 -3
- package/dist/processors/json.js.map +1 -1
- package/dist/sources/index.d.ts +6 -2
- package/dist/sources/index.d.ts.map +1 -1
- package/dist/sources/index.js +89 -16
- package/dist/sources/index.js.map +1 -1
- package/dist/sources/s3.d.ts +1 -1
- package/dist/sources/s3.d.ts.map +1 -1
- package/dist/sources/s3.js +49 -48
- package/dist/sources/s3.js.map +1 -1
- package/dist/sources/secrets-manager.d.ts +5 -0
- package/dist/sources/secrets-manager.d.ts.map +1 -0
- package/dist/sources/secrets-manager.js +48 -0
- package/dist/sources/secrets-manager.js.map +1 -0
- package/dist/sources/ssm.d.ts +5 -0
- package/dist/sources/ssm.d.ts.map +1 -0
- package/dist/sources/ssm.js +79 -0
- package/dist/sources/ssm.js.map +1 -0
- package/dist/types.d.ts +68 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/variables-remote.d.ts +4 -0
- package/dist/variables-remote.d.ts.map +1 -0
- package/dist/variables-remote.js +52 -0
- package/dist/variables-remote.js.map +1 -0
- package/dist/variables.d.ts +2 -2
- package/dist/variables.d.ts.map +1 -1
- package/dist/variables.js.map +1 -1
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js +1 -1
- package/dist/writer.js.map +1 -1
- package/package.json +5 -2
package/dist/sources/s3.js
CHANGED
|
@@ -34,67 +34,68 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.fetchS3 = fetchS3;
|
|
37
|
-
const
|
|
38
|
-
const fs = __importStar(require("fs"));
|
|
39
|
-
const os = __importStar(require("os"));
|
|
37
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
40
38
|
const path = __importStar(require("path"));
|
|
41
39
|
const logger_1 = require("../logger");
|
|
42
40
|
const fetch_1 = require("../fetch");
|
|
43
|
-
function
|
|
44
|
-
const
|
|
45
|
-
if (
|
|
46
|
-
throw new Error(`
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function collectFiles(base, dir, files) {
|
|
54
|
-
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
55
|
-
const full = path.join(dir, entry.name);
|
|
56
|
-
if (entry.isDirectory()) {
|
|
57
|
-
collectFiles(base, full, files);
|
|
58
|
-
}
|
|
59
|
-
else if (entry.isFile()) {
|
|
60
|
-
files.set(path.relative(base, full), fs.readFileSync(full));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
41
|
+
function parseS3Uri(uri, isDir) {
|
|
42
|
+
const match = uri.match(/^s3:\/\/([^/]+)\/?(.*)$/);
|
|
43
|
+
if (!match)
|
|
44
|
+
throw new Error(`Invalid S3 URI: ${uri}`);
|
|
45
|
+
const key = match[2];
|
|
46
|
+
if (!isDir && !key)
|
|
47
|
+
throw new Error(`S3 object key is required: ${uri}`);
|
|
48
|
+
return { bucket: match[1], key };
|
|
63
49
|
}
|
|
64
|
-
function fetchS3(uri) {
|
|
65
|
-
const
|
|
66
|
-
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'avanti-s3-'));
|
|
50
|
+
async function fetchS3(uri) {
|
|
51
|
+
const client = new client_s3_1.S3Client({});
|
|
67
52
|
try {
|
|
53
|
+
const isDir = uri.endsWith('/');
|
|
54
|
+
const { bucket, key } = parseS3Uri(uri, isDir);
|
|
68
55
|
if (!isDir) {
|
|
69
|
-
let filename;
|
|
70
|
-
try {
|
|
71
|
-
filename = path.basename(new URL(uri).pathname) || 'download';
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
filename = path.basename(uri) || 'download';
|
|
75
|
-
}
|
|
76
|
-
// Download to a temp file to support binary content
|
|
77
|
-
const tmpFile = path.join(tmpDir, filename);
|
|
78
56
|
if ((0, logger_1.isVerbose)())
|
|
79
|
-
(0, logger_1.verbose)(`
|
|
80
|
-
const
|
|
81
|
-
if (
|
|
82
|
-
throw new Error(`
|
|
83
|
-
|
|
84
|
-
|
|
57
|
+
(0, logger_1.verbose)(`s3 GetObject ${(0, fetch_1.redactUrl)(uri)}`);
|
|
58
|
+
const response = await client.send(new client_s3_1.GetObjectCommand({ Bucket: bucket, Key: key }));
|
|
59
|
+
if (!response.Body)
|
|
60
|
+
throw new Error(`No body returned for ${uri}`);
|
|
61
|
+
const bytes = await response.Body.transformToByteArray();
|
|
62
|
+
const buf = Buffer.from(bytes);
|
|
63
|
+
const filename = path.basename(key) || 'download';
|
|
64
|
+
return { files: new Map([[filename, buf]]) };
|
|
85
65
|
}
|
|
86
66
|
if ((0, logger_1.isVerbose)())
|
|
87
|
-
(0, logger_1.verbose)(`
|
|
88
|
-
const res = awsRun(['s3', 'sync', uri, tmpDir]);
|
|
89
|
-
if (res.status !== 0) {
|
|
90
|
-
throw new Error(`Failed to sync ${uri}: ${res.stderr.trim()}`);
|
|
91
|
-
}
|
|
67
|
+
(0, logger_1.verbose)(`s3 ListObjectsV2 ${(0, fetch_1.redactUrl)(uri)}`);
|
|
92
68
|
const files = new Map();
|
|
93
|
-
|
|
69
|
+
let continuationToken;
|
|
70
|
+
let isTruncated = false;
|
|
71
|
+
do {
|
|
72
|
+
const response = await client.send(new client_s3_1.ListObjectsV2Command({
|
|
73
|
+
Bucket: bucket,
|
|
74
|
+
Prefix: key,
|
|
75
|
+
ContinuationToken: continuationToken,
|
|
76
|
+
}));
|
|
77
|
+
const objects = (response.Contents ?? []).filter((obj) => obj.Key && !obj.Key.endsWith('/'));
|
|
78
|
+
const BATCH = 50;
|
|
79
|
+
for (let i = 0; i < objects.length; i += BATCH) {
|
|
80
|
+
await Promise.all(objects.slice(i, i + BATCH).map(async (obj) => {
|
|
81
|
+
const objKey = obj.Key;
|
|
82
|
+
if ((0, logger_1.isVerbose)())
|
|
83
|
+
(0, logger_1.verbose)(`s3 GetObject ${(0, fetch_1.redactUrl)(`s3://${bucket}/${objKey}`)}`);
|
|
84
|
+
const get = await client.send(new client_s3_1.GetObjectCommand({ Bucket: bucket, Key: objKey }));
|
|
85
|
+
if (!get.Body)
|
|
86
|
+
throw new Error(`No body returned for s3://${bucket}/${objKey}`);
|
|
87
|
+
const bytes = await get.Body.transformToByteArray();
|
|
88
|
+
const relKey = objKey.slice(key.length).replace(/^\/+/, '');
|
|
89
|
+
files.set(relKey, Buffer.from(bytes));
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
isTruncated = response.IsTruncated ?? false;
|
|
93
|
+
continuationToken = response.NextContinuationToken;
|
|
94
|
+
} while (isTruncated);
|
|
94
95
|
return { files };
|
|
95
96
|
}
|
|
96
97
|
finally {
|
|
97
|
-
|
|
98
|
+
client.destroy();
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
//# sourceMappingURL=s3.js.map
|
package/dist/sources/s3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/sources/s3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/sources/s3.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets-manager.d.ts","sourceRoot":"","sources":["../../src/sources/secrets-manager.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC,CAqD/B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchSecretsManager = fetchSecretsManager;
|
|
4
|
+
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
5
|
+
const logger_1 = require("../logger");
|
|
6
|
+
async function fetchSecretsManager(name, key, region) {
|
|
7
|
+
const client = new client_secrets_manager_1.SecretsManagerClient(region ? { region } : {});
|
|
8
|
+
try {
|
|
9
|
+
if ((0, logger_1.isVerbose)())
|
|
10
|
+
(0, logger_1.verbose)(`secrets-manager GetSecretValue ${name}`);
|
|
11
|
+
const response = await client.send(new client_secrets_manager_1.GetSecretValueCommand({ SecretId: name }));
|
|
12
|
+
// ARNs use ':' as separator; split on both ':' and '/' to get the leaf name
|
|
13
|
+
const filename = name.split(/[:/]/).filter(Boolean).pop() || 'secret';
|
|
14
|
+
if (response.SecretBinary) {
|
|
15
|
+
if (key !== undefined) {
|
|
16
|
+
throw new Error(`aws_secrets_manager: secret "${name}" is binary — key extraction requires a JSON string secret`);
|
|
17
|
+
}
|
|
18
|
+
const buf = Buffer.from(response.SecretBinary);
|
|
19
|
+
return { files: new Map([[filename, buf]]) };
|
|
20
|
+
}
|
|
21
|
+
if (response.SecretString === undefined) {
|
|
22
|
+
throw new Error(`No secret value returned for ${name}`);
|
|
23
|
+
}
|
|
24
|
+
if (key !== undefined) {
|
|
25
|
+
let parsed;
|
|
26
|
+
try {
|
|
27
|
+
parsed = JSON.parse(response.SecretString);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
throw new Error(`aws_secrets_manager: secret "${name}" is not valid JSON (required for key extraction)`);
|
|
31
|
+
}
|
|
32
|
+
if (typeof parsed !== 'object' ||
|
|
33
|
+
parsed === null ||
|
|
34
|
+
!Object.prototype.hasOwnProperty.call(parsed, key)) {
|
|
35
|
+
throw new Error(`aws_secrets_manager: key "${key}" not found in secret "${name}"`);
|
|
36
|
+
}
|
|
37
|
+
const val = String(parsed[key]);
|
|
38
|
+
return { files: new Map([[filename, Buffer.from(val, 'utf8')]]) };
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
files: new Map([[filename, Buffer.from(response.SecretString, 'utf8')]]),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
client.destroy();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=secrets-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets-manager.js","sourceRoot":"","sources":["../../src/sources/secrets-manager.ts"],"names":[],"mappings":";;AAUA,kDAyDC;AAnED,4EAGyC;AACzC,sCAA+C;AAMxC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,GAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,6CAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,IAAI,IAAA,kBAAS,GAAE;YAAE,IAAA,gBAAO,EAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,8CAAqB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC9C,CAAC;QAEF,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;QAEtE,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,4DAA4D,CACjG,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/C,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,mDAAmD,CACxF,CAAC;YACJ,CAAC;YACD,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,KAAK,IAAI;gBACf,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAClD,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,0BAA0B,IAAI,GAAG,CAClE,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAE,MAAkC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SACzE,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssm.d.ts","sourceRoot":"","sources":["../../src/sources/ssm.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CA8CpB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.fetchSsm = fetchSsm;
|
|
37
|
+
const client_ssm_1 = require("@aws-sdk/client-ssm");
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const logger_1 = require("../logger");
|
|
40
|
+
async function fetchSsm(name, region) {
|
|
41
|
+
const client = new client_ssm_1.SSMClient(region ? { region } : {});
|
|
42
|
+
try {
|
|
43
|
+
if (!name.endsWith('/')) {
|
|
44
|
+
if ((0, logger_1.isVerbose)())
|
|
45
|
+
(0, logger_1.verbose)(`ssm GetParameter ${name}`);
|
|
46
|
+
const response = await client.send(new client_ssm_1.GetParameterCommand({ Name: name, WithDecryption: true }));
|
|
47
|
+
const value = response.Parameter?.Value;
|
|
48
|
+
if (value === undefined) {
|
|
49
|
+
throw new Error(`No value returned for SSM parameter ${name}`);
|
|
50
|
+
}
|
|
51
|
+
const filename = path.basename(name) || 'parameter';
|
|
52
|
+
return { files: new Map([[filename, Buffer.from(value, 'utf8')]]) };
|
|
53
|
+
}
|
|
54
|
+
if ((0, logger_1.isVerbose)())
|
|
55
|
+
(0, logger_1.verbose)(`ssm GetParametersByPath ${name}`);
|
|
56
|
+
const files = new Map();
|
|
57
|
+
let nextToken;
|
|
58
|
+
do {
|
|
59
|
+
const response = await client.send(new client_ssm_1.GetParametersByPathCommand({
|
|
60
|
+
Path: name,
|
|
61
|
+
Recursive: true,
|
|
62
|
+
WithDecryption: true,
|
|
63
|
+
NextToken: nextToken,
|
|
64
|
+
}));
|
|
65
|
+
for (const param of response.Parameters ?? []) {
|
|
66
|
+
if (!param.Name || param.Value === undefined)
|
|
67
|
+
continue;
|
|
68
|
+
const relKey = param.Name.slice(name.length).replace(/^\/+/, '');
|
|
69
|
+
files.set(relKey || path.basename(param.Name), Buffer.from(param.Value, 'utf8'));
|
|
70
|
+
}
|
|
71
|
+
nextToken = response.NextToken;
|
|
72
|
+
} while (nextToken);
|
|
73
|
+
return { files };
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
client.destroy();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=ssm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssm.js","sourceRoot":"","sources":["../../src/sources/ssm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,4BAiDC;AA7DD,oDAI6B;AAC7B,2CAA6B;AAC7B,sCAA+C;AAMxC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,IAAA,kBAAS,GAAE;gBAAE,IAAA,gBAAO,EAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,gCAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;YACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,CAAC;QAED,IAAI,IAAA,kBAAS,GAAE;YAAE,IAAA,gBAAO,EAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,IAAI,SAA6B,CAAC;QAElC,GAAG,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,uCAA0B,CAAC;gBAC7B,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC,CACH,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;oBAAE,SAAS;gBACvD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjE,KAAK,CAAC,GAAG,CACP,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CACjC,CAAC;YACJ,CAAC;YAED,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACjC,CAAC,QAAQ,SAAS,EAAE;QAEpB,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
export type Variables = Record<string, string>;
|
|
2
2
|
export type Via = 'api' | 'cli';
|
|
3
|
+
export type OsPlatform = 'linux' | 'mac' | 'windows';
|
|
4
|
+
export interface Condition {
|
|
5
|
+
os?: OsPlatform | OsPlatform[];
|
|
6
|
+
exists?: string;
|
|
7
|
+
exec?: string;
|
|
8
|
+
target_exists?: true;
|
|
9
|
+
not?: boolean;
|
|
10
|
+
}
|
|
3
11
|
export interface ReplaceRule {
|
|
4
12
|
from: string;
|
|
5
13
|
to: string;
|
|
@@ -13,6 +21,8 @@ export interface GitLabSrc {
|
|
|
13
21
|
host?: string;
|
|
14
22
|
via?: Via | Via[];
|
|
15
23
|
};
|
|
24
|
+
if?: Condition | Condition[];
|
|
25
|
+
ifAny?: Condition[];
|
|
16
26
|
}
|
|
17
27
|
export interface GitHubSrc {
|
|
18
28
|
github: {
|
|
@@ -23,13 +33,19 @@ export interface GitHubSrc {
|
|
|
23
33
|
host?: string;
|
|
24
34
|
via?: Via | Via[];
|
|
25
35
|
};
|
|
36
|
+
if?: Condition | Condition[];
|
|
37
|
+
ifAny?: Condition[];
|
|
26
38
|
}
|
|
27
39
|
export interface ExecSrc {
|
|
28
40
|
exec: string;
|
|
29
41
|
sha?: string;
|
|
42
|
+
if?: Condition | Condition[];
|
|
43
|
+
ifAny?: Condition[];
|
|
30
44
|
}
|
|
31
45
|
export interface RawSrc {
|
|
32
46
|
raw: string;
|
|
47
|
+
if?: Condition | Condition[];
|
|
48
|
+
ifAny?: Condition[];
|
|
33
49
|
}
|
|
34
50
|
export interface BitbucketSrc {
|
|
35
51
|
bitbucket: {
|
|
@@ -40,6 +56,8 @@ export interface BitbucketSrc {
|
|
|
40
56
|
sha?: string;
|
|
41
57
|
host?: string;
|
|
42
58
|
};
|
|
59
|
+
if?: Condition | Condition[];
|
|
60
|
+
ifAny?: Condition[];
|
|
43
61
|
}
|
|
44
62
|
export interface GitSrc {
|
|
45
63
|
git: {
|
|
@@ -48,10 +66,33 @@ export interface GitSrc {
|
|
|
48
66
|
ref?: string;
|
|
49
67
|
sha?: string;
|
|
50
68
|
};
|
|
69
|
+
if?: Condition | Condition[];
|
|
70
|
+
ifAny?: Condition[];
|
|
51
71
|
}
|
|
52
|
-
export interface
|
|
53
|
-
|
|
72
|
+
export interface AwsS3Src {
|
|
73
|
+
aws_s3: string;
|
|
54
74
|
sha?: string;
|
|
75
|
+
if?: Condition | Condition[];
|
|
76
|
+
ifAny?: Condition[];
|
|
77
|
+
}
|
|
78
|
+
export interface AwsSecretsManagerSrc {
|
|
79
|
+
aws_secrets_manager: {
|
|
80
|
+
name: string;
|
|
81
|
+
key?: string;
|
|
82
|
+
region?: string;
|
|
83
|
+
sha?: string;
|
|
84
|
+
};
|
|
85
|
+
if?: Condition | Condition[];
|
|
86
|
+
ifAny?: Condition[];
|
|
87
|
+
}
|
|
88
|
+
export interface AwsSsmSrc {
|
|
89
|
+
aws_systems_manager_parameter: {
|
|
90
|
+
name: string;
|
|
91
|
+
region?: string;
|
|
92
|
+
sha?: string;
|
|
93
|
+
};
|
|
94
|
+
if?: Condition | Condition[];
|
|
95
|
+
ifAny?: Condition[];
|
|
55
96
|
}
|
|
56
97
|
export interface VaultSrc {
|
|
57
98
|
vault: {
|
|
@@ -59,26 +100,34 @@ export interface VaultSrc {
|
|
|
59
100
|
field?: string;
|
|
60
101
|
sha?: string;
|
|
61
102
|
};
|
|
103
|
+
if?: Condition | Condition[];
|
|
104
|
+
ifAny?: Condition[];
|
|
62
105
|
}
|
|
63
106
|
/** An explicit http/https URL with optional SHA pinning */
|
|
64
107
|
export interface HttpSrc {
|
|
65
108
|
http: string;
|
|
66
109
|
sha?: string;
|
|
110
|
+
if?: Condition | Condition[];
|
|
111
|
+
ifAny?: Condition[];
|
|
67
112
|
}
|
|
68
113
|
/** An explicit local filesystem path; optional: true silently skips if the path does not exist */
|
|
69
114
|
export interface LocalSrc {
|
|
70
115
|
path: string;
|
|
71
116
|
optional?: boolean;
|
|
72
117
|
sha?: string;
|
|
118
|
+
if?: Condition | Condition[];
|
|
119
|
+
ifAny?: Condition[];
|
|
73
120
|
}
|
|
74
121
|
/** An explicit http/https URL; optional: true silently skips on 404 */
|
|
75
122
|
export interface UrlSrc {
|
|
76
123
|
url: string;
|
|
77
124
|
optional?: boolean;
|
|
78
125
|
sha?: string;
|
|
126
|
+
if?: Condition | Condition[];
|
|
127
|
+
ifAny?: Condition[];
|
|
79
128
|
}
|
|
80
129
|
/** src can be a plain string (http/https URL or local path) or a typed source map */
|
|
81
|
-
export type FileSrc = string | GitLabSrc | GitHubSrc | BitbucketSrc | GitSrc | ExecSrc | RawSrc |
|
|
130
|
+
export type FileSrc = string | GitLabSrc | GitHubSrc | BitbucketSrc | GitSrc | ExecSrc | RawSrc | AwsS3Src | AwsSecretsManagerSrc | AwsSsmSrc | VaultSrc | HttpSrc | LocalSrc | UrlSrc;
|
|
82
131
|
export type JsonConflictStrategy = 'abort' | 'first_wins' | 'last_wins';
|
|
83
132
|
export type JsonArrayStrategy = 'replace' | 'concat';
|
|
84
133
|
export type JsonObjectStrategy = 'replace' | 'merge';
|
|
@@ -86,6 +135,11 @@ export interface JsonMergeOptions {
|
|
|
86
135
|
conflicts?: JsonConflictStrategy;
|
|
87
136
|
arrays?: JsonArrayStrategy;
|
|
88
137
|
objects?: JsonObjectStrategy;
|
|
138
|
+
indent?: number | 'tab';
|
|
139
|
+
trailingCommas?: boolean;
|
|
140
|
+
sortKeys?: boolean;
|
|
141
|
+
minify?: boolean;
|
|
142
|
+
stripComments?: boolean;
|
|
89
143
|
}
|
|
90
144
|
export type YamlConflictStrategy = 'abort' | 'first_wins' | 'last_wins';
|
|
91
145
|
export type YamlArrayStrategy = 'replace' | 'concat';
|
|
@@ -106,15 +160,25 @@ export interface TomlMergeOptions {
|
|
|
106
160
|
export interface FileEntry {
|
|
107
161
|
src: FileSrc | FileSrc[];
|
|
108
162
|
target: string;
|
|
163
|
+
if?: Condition | Condition[];
|
|
164
|
+
ifAny?: Condition[];
|
|
109
165
|
mode?: string;
|
|
110
166
|
replace?: ReplaceRule[];
|
|
111
167
|
post?: string;
|
|
112
168
|
json?: JsonMergeOptions | boolean;
|
|
113
169
|
yaml?: YamlMergeOptions | boolean;
|
|
114
170
|
toml?: TomlMergeOptions | boolean;
|
|
171
|
+
strategy?: 'replace' | 'insert';
|
|
172
|
+
}
|
|
173
|
+
export interface VariableEntry {
|
|
174
|
+
src: FileSrc | FileSrc[];
|
|
175
|
+
json?: JsonMergeOptions | boolean;
|
|
176
|
+
yaml?: YamlMergeOptions | boolean;
|
|
177
|
+
toml?: TomlMergeOptions | boolean;
|
|
115
178
|
}
|
|
179
|
+
export type VariableSpec = Record<string, string | VariableEntry>;
|
|
116
180
|
export interface AvantiConfig {
|
|
117
|
-
variables?:
|
|
181
|
+
variables?: VariableSpec;
|
|
118
182
|
files: Record<string, FileEntry>;
|
|
119
183
|
}
|
|
120
184
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/C,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC;AAEhC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;KACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables-remote.d.ts","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAe,UAAU,EAAe,MAAM,WAAW,CAAC;AAGjE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CA6CpB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveVariableSpec = resolveVariableSpec;
|
|
4
|
+
const variables_1 = require("./variables");
|
|
5
|
+
const sources_1 = require("./sources");
|
|
6
|
+
const binary_1 = require("./binary");
|
|
7
|
+
async function resolveVariableSpec(spec, workingDir, cache) {
|
|
8
|
+
const resolved = Object.create(null);
|
|
9
|
+
for (const [name, value] of Object.entries(spec)) {
|
|
10
|
+
if (typeof value === 'string') {
|
|
11
|
+
try {
|
|
12
|
+
resolved[name] = (0, variables_1.resolveVars)(value, resolved);
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
16
|
+
throw new Error(`variables.${name}: ${msg}`, { cause: err });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const synthetic = {
|
|
21
|
+
src: value.src,
|
|
22
|
+
target: name,
|
|
23
|
+
json: value.json,
|
|
24
|
+
yaml: value.yaml,
|
|
25
|
+
toml: value.toml,
|
|
26
|
+
};
|
|
27
|
+
let result;
|
|
28
|
+
try {
|
|
29
|
+
result = await (0, sources_1.fetchSource)(synthetic, workingDir, resolved, cache);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
33
|
+
throw new Error(`variables.${name}: failed to fetch source: ${msg}`, {
|
|
34
|
+
cause: err,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (result.files.size === 0) {
|
|
38
|
+
throw new Error(`variables.${name}: source resolved to no content`);
|
|
39
|
+
}
|
|
40
|
+
if (result.files.size > 1) {
|
|
41
|
+
throw new Error(`variables.${name}: source resolved to multiple files; set json/yaml/toml to merge them into one`);
|
|
42
|
+
}
|
|
43
|
+
const buf = result.files.values().next().value;
|
|
44
|
+
if ((0, binary_1.isBinary)(buf)) {
|
|
45
|
+
throw new Error(`variables.${name}: source resolved to binary content, which cannot be used as a variable value`);
|
|
46
|
+
}
|
|
47
|
+
resolved[name] = buf.toString('utf8').trim();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return resolved;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=variables-remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables-remote.js","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":";;AAKA,kDAiDC;AArDD,2CAA0C;AAC1C,uCAAiE;AACjE,qCAAoC;AAE7B,KAAK,UAAU,mBAAmB,CACvC,IAAkB,EAClB,UAAkB,EAClB,KAAkB;IAElB,MAAM,QAAQ,GAAc,MAAM,CAAC,MAAM,CAAC,IAAI,CAAc,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,uBAAW,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAc;gBAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YACF,IAAI,MAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,6BAA6B,GAAG,EAAE,EAAE;oBACnE,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;YACL,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,iCAAiC,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,gFAAgF,CAClG,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;YACzD,IAAI,IAAA,iBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,+EAA+E,CACjG,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/variables.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Variables } from './types';
|
|
1
|
+
import { Variables, VariableSpec } from './types';
|
|
2
2
|
export declare const RESERVED_VARS: Set<string>;
|
|
3
|
-
export declare function validateVariables(vars: Variables): void;
|
|
3
|
+
export declare function validateVariables(vars: Variables | VariableSpec): void;
|
|
4
4
|
export declare function resolveVars(value: string, vars: Variables): string;
|
|
5
5
|
export declare function resolveVarsShellSafe(value: string, vars: Variables): string;
|
|
6
6
|
//# sourceMappingURL=variables.d.ts.map
|
package/dist/variables.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,aAAa,aAAsB,CAAC;AAEjD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAMtE;AAOD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAmBlE;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAmB3E"}
|
package/dist/variables.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":";;;AAKA,8CAMC;AAOD,kCAmBC;AAgBD,oDAmBC;AAtED,qFAAqF;AACxE,QAAA,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEjD,SAAgB,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"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"}
|
package/dist/writer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,GAAE,MAAM,EAAO,GACvB,IAAI,
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,GAAE,MAAM,EAAO,GACvB,IAAI,CA8DN"}
|
package/dist/writer.js
CHANGED
|
@@ -90,7 +90,7 @@ function atomicWrite(targets, deletions = []) {
|
|
|
90
90
|
fs.rmSync(p, { force: true });
|
|
91
91
|
}
|
|
92
92
|
catch (err) {
|
|
93
|
-
console.warn(`Warning: could not delete ${p}: ${err.message}`);
|
|
93
|
+
console.warn(`Warning: could not delete ${p}: ${err instanceof Error ? err.message : String(err)}`);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
}
|
package/dist/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kCAiEC;AA1ED,uCAAyB;AACzB,2CAA6B;AAQ7B,SAAgB,WAAW,CACzB,OAAsB,EACtB,YAAsB,EAAE;IAExB,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,MAAM,GACV,EAAE,CAAC;IACL,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,GAAG,EACH,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,aAAa,CAClD,CAAC;YACF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAErC,oEAAoE;YACpE,0EAA0E;YAC1E,sEAAsE;YACtE,oBAAoB;YACpB,IAAI,aAAiC,CAAC;YACtC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;gBAC1D,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;gBACrE,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,sEAAsE;QACtE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAClC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,6BAA6B,CAAC,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|