@dbx-tools/core 0.9.117 → 0.9.119
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/index.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/src/bundle.js +6 -5
- package/package.json +2 -2
- package/src/bundle.ts +5 -4
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/core";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.119";
|
|
7
7
|
export * as bin from "./src/bin.ts";
|
|
8
8
|
export * as brandFiles from "./src/brand-files.ts";
|
|
9
9
|
export * as bundle from "./src/bundle.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/core";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.119";
|
|
3
3
|
export * as bin from "./src/bin.ts";
|
|
4
4
|
export * as brandFiles from "./src/brand-files.ts";
|
|
5
5
|
export * as bundle from "./src/bundle.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/core";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.119";
|
|
6
6
|
export * as bin from "./src/bin.js";
|
|
7
7
|
export * as brandFiles from "./src/brand-files.js";
|
|
8
8
|
export * as bundle from "./src/bundle.js";
|
|
@@ -16,4 +16,4 @@ export * as projectUtils from "./src/project-utils.js";
|
|
|
16
16
|
export { BrandContextSchema, defaultBrandContext, parseBrandContext, brandContextJsonSchema, brandContextPrompt } from "./src/brand-files.js";
|
|
17
17
|
export { MAX_TCP_PORT, ENV_ONLY, valueSchema, bundleResourceSchema, bundleEnvEntrySchema, bundleAppSchema, appEnvEntrySchema, appSchema, toNumber } from "./src/config-utils.js";
|
|
18
18
|
export { COMMAND_NOT_FOUND_EXIT_CODE } from "./src/exec.js";
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssUUFBUSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxLQUFLLFlBQVksTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5SSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdqTCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2NvcmVcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS4xMTlcIjtcbmV4cG9ydCAqIGFzIGJpbiBmcm9tIFwiLi9zcmMvYmluLnRzXCI7XG5leHBvcnQgKiBhcyBicmFuZEZpbGVzIGZyb20gXCIuL3NyYy9icmFuZC1maWxlcy50c1wiO1xuZXhwb3J0ICogYXMgYnVuZGxlIGZyb20gXCIuL3NyYy9idW5kbGUudHNcIjtcbmV4cG9ydCAqIGFzIGNvbmZpZ1V0aWxzIGZyb20gXCIuL3NyYy9jb25maWctdXRpbHMudHNcIjtcbmV4cG9ydCAqIGFzIGRlcGVuZGVuY3lSZXNvbHZlciBmcm9tIFwiLi9zcmMvZGVwZW5kZW5jeS1yZXNvbHZlci50c1wiO1xuZXhwb3J0ICogYXMgZXhlYyBmcm9tIFwiLi9zcmMvZXhlYy50c1wiO1xuZXhwb3J0ICogYXMgZmlsZSBmcm9tIFwiLi9zcmMvZmlsZS50c1wiO1xuZXhwb3J0ICogYXMgZmlsZUxvY2sgZnJvbSBcIi4vc3JjL2ZpbGUtbG9jay50c1wiO1xuZXhwb3J0ICogYXMgcHJvY2Vzc0xvY2sgZnJvbSBcIi4vc3JjL3Byb2Nlc3MtbG9jay50c1wiO1xuZXhwb3J0ICogYXMgcHJvamVjdFV0aWxzIGZyb20gXCIuL3NyYy9wcm9qZWN0LXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEJpbkNvbnRleHQsIEJpblNlbGVjdGlvbkNvbnRleHQsIEJpblNlbGVjdG9yLCBCaW5WZXJzaW9uT3V0cHV0LCBCaW5WZXJzaW9uUGFyc2VyLCBCaW5PcHRpb25zLCBCaW5QYWNrYWdlT3B0aW9ucywgQmluVXJsUmVzb2x2ZUNvbnRleHQsIEJpblNvdXJjZSwgQmluVXJsIH0gZnJvbSBcIi4vc3JjL2Jpbi50c1wiO1xuZXhwb3J0IHsgQnJhbmRDb250ZXh0U2NoZW1hLCBkZWZhdWx0QnJhbmRDb250ZXh0LCBwYXJzZUJyYW5kQ29udGV4dCwgYnJhbmRDb250ZXh0SnNvblNjaGVtYSwgYnJhbmRDb250ZXh0UHJvbXB0IH0gZnJvbSBcIi4vc3JjL2JyYW5kLWZpbGVzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEJyYW5kQ29udGV4dCwgQnJhbmRDb250ZXh0SW5wdXQgfSBmcm9tIFwiLi9zcmMvYnJhbmQtZmlsZXMudHNcIjtcbmV4cG9ydCB7IE1BWF9UQ1BfUE9SVCwgRU5WX09OTFksIHZhbHVlU2NoZW1hLCBidW5kbGVSZXNvdXJjZVNjaGVtYSwgYnVuZGxlRW52RW50cnlTY2hlbWEsIGJ1bmRsZUFwcFNjaGVtYSwgYXBwRW52RW50cnlTY2hlbWEsIGFwcFNjaGVtYSwgdG9OdW1iZXIgfSBmcm9tIFwiLi9zcmMvY29uZmlnLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IENvbmZpZ01hcFZhbHVlLCBDb25maWdEYXRhLCBDb25maWdTb3VyY2UsIENvbmZpZ09wdGlvbnMsIENvbmZpZ0ZpbGUgfSBmcm9tIFwiLi9zcmMvY29uZmlnLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IERlcGVuZGVuY3lSZXNvbHZlck9wdGlvbnMsIERlcGVuZGVuY3lJbmZvLCBSZXNvbHZlZE5wbVZlcnNpb24sIE5wbVNwZWNpZmllcklucHV0LCBSZXNvbHZlZE5wbURlcGVuZGVuY2llcywgTWlzc2luZ0RlcGVuZGVuY3lJbmZvIH0gZnJvbSBcIi4vc3JjL2RlcGVuZGVuY3ktcmVzb2x2ZXIudHNcIjtcbmV4cG9ydCB7IENPTU1BTkRfTk9UX0ZPVU5EX0VYSVRfQ09ERSB9IGZyb20gXCIuL3NyYy9leGVjLnRzXCI7XG5leHBvcnQgdHlwZSB7IEV4ZWNTdGRpbywgTGluZUhhbmRsZXIsIExpbmVPdXRwdXRPcHRpb25zLCBTdGRpb09wdGlvbiwgRXhlY1Jlc3VsdCwgQ2hpbGRQcm9jZXNzUmVzdWx0LCBFeGVjT3B0aW9ucywgS2lsbE9wdGlvbnMsIFN5bmNFeGVjU3RkaW8sIFN5bmNFeGVjT3B0aW9ucywgU3Bhd25BcmdzIH0gZnJvbSBcIi4vc3JjL2V4ZWMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRmlsZUxvY2tCYWNrZW5kLCBGaWxlTG9ja0FjcXVpc2l0aW9uLCBGaWxlTG9ja09wdGlvbnMsIEZpbGVMb2NrTGVhc2UgfSBmcm9tIFwiLi9zcmMvZmlsZS1sb2NrLnRzXCI7XG5leHBvcnQgdHlwZSB7IFByb2plY3RDb250ZXh0LCBQcm9qZWN0R2hSZW1vdGUsIFByb2plY3RHaEFjY291bnQsIFJlc29sdmVQcm9qZWN0R2hBY2NvdW50T3B0aW9ucywgTnBtUmVnaXN0cnlPcHRpb25zIH0gZnJvbSBcIi4vc3JjL3Byb2plY3QtdXRpbHMudHNcIjtcbiJdfQ==
|
package/lib/src/bundle.js
CHANGED
|
@@ -12,8 +12,7 @@ import { opendir, realpath, stat } from "node:fs/promises";
|
|
|
12
12
|
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
13
13
|
import { json, object, stringUtils } from "@dbx-tools/shared-core";
|
|
14
14
|
import { spawn } from "./exec.js";
|
|
15
|
-
import { resolveWorkingDirectory } from "./project-utils.js";
|
|
16
|
-
import { projectUtils } from "../index.js";
|
|
15
|
+
import { resolveWorkingDirectory, root } from "./project-utils.js";
|
|
17
16
|
const BUNDLE_FILE_NAMES = new Set(["databricks.yml", "databricks.yaml"]);
|
|
18
17
|
const IGNORED_DIRECTORIES = [
|
|
19
18
|
/^\..*/,
|
|
@@ -169,12 +168,14 @@ function isWithinOrEqual(candidate, parent) {
|
|
|
169
168
|
const path = relative(parent, candidate);
|
|
170
169
|
return path === "" || (path !== ".." && !path.startsWith(`..${sep}`) && !isAbsolute(path));
|
|
171
170
|
}
|
|
172
|
-
|
|
171
|
+
async function main() {
|
|
173
172
|
const path = process.argv[2];
|
|
174
173
|
if (!path)
|
|
175
174
|
throw new Error("Usage: bun bundle.ts <path>");
|
|
176
|
-
for await (const resource of appResources(
|
|
175
|
+
for await (const resource of appResources(root(), path)) {
|
|
177
176
|
console.dir(resource, { depth: null });
|
|
178
177
|
}
|
|
179
178
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7QUFDekUsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixPQUFPO0lBQ1AsY0FBYztJQUNkLE1BQU07SUFDTixPQUFPO0lBQ1AsS0FBSztJQUNMLFFBQVE7SUFDUixLQUFLO0lBQ0wsUUFBUTtDQUNBLENBQUM7QUFpQlg7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQ2pDLGVBQXVCLEVBQ3ZCLEdBQVksRUFDWixPQUFnQjtJQUVoQixNQUFNLFFBQVEsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sY0FBYyxHQUFHLE1BQU0scUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEQsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLGNBQWMsSUFBSSxD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QUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLFNBQWlCLEVBQUUsTUFBYztJQUN4RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzdGLENBQUM7QUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixJQUFJLENBQUMsSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMxRCxJQUFJLEtBQUssRUFBRSxNQUFNLFFBQVEsSUFBSSxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RyZWFtaW5nIGRpc2NvdmVyeSBvZiBEYXRhYnJpY2tzIGJ1bmRsZSBBcHAgcmVzb3VyY2VzLlxuICpcbiAqIEJ1bmRsZSBmaWxlcyBhcmUgZm91bmQgd2l0aCBuYXRpdmUgZmlsZXN5c3RlbSB0cmF2ZXJzYWwgaW5zaWRlIGEgaGFyZCBwcm9qZWN0XG4gKiBib3VuZGFyeS4gRWFjaCBjYW5kaWRhdGUgaXMgcmVzb2x2ZWQgdGhyb3VnaCBgZGF0YWJyaWNrcyBidW5kbGUgdmFsaWRhdGVcbiAqIC0tb3V0cHV0IGpzb25gIHNvIGluY2x1ZGVzLCB0YXJnZXRzLCB2YXJpYWJsZXMsIGFuZCBBcHAgY29uZmlndXJhdGlvbiBmb2xsb3dcbiAqIHRoZSBEYXRhYnJpY2tzIENMSSdzIHNlbWFudGljcy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgb3BlbmRpciwgcmVhbHBhdGgsIHN0YXQgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgZGlybmFtZSwgaXNBYnNvbHV0ZSwgam9pbiwgcmVsYXRpdmUsIHJlc29sdmUsIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGpzb24sIG9iamVjdCwgc3RyaW5nVXRpbHMgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tIFwiLi9leGVjLnRzXCI7XG5pbXBvcnQgeyByZXNvbHZlV29ya2luZ0RpcmVjdG9yeSB9IGZyb20gXCIuL3Byb2plY3QtdXRpbHMudHNcIjtcbmltcG9ydCB7IHByb2plY3RVdGlscyB9IGZyb20gXCIuLi9pbmRleC50c1wiO1xuXG5jb25zdCBCVU5ETEVfRklMRV9OQU1FUyA9IG5ldyBTZXQoW1wiZGF0YWJyaWNrcy55bWxcIiwgXCJkYXRhYnJpY2tzLnlhbWxcIl0pO1xuY29uc3QgSUdOT1JFRF9ESVJFQ1RPUklFUyA9IFtcbiAgL15cXC4uKi8sXG4gIFwibm9kZV9tb2R1bGVzXCIsXG4gIFwiZGlzdFwiLFxuICBcImJ1aWxkXCIsXG4gIFwib3V0XCIsXG4gIFwidGFyZ2V0XCIsXG4gIFwidG1wXCIsXG4gIFwidmVuZG9yXCIsXG5dIGFzIGNvbnN0O1xuXG50eXBlIEFwcFJlc291cmNlID0ge1xuICAvKiogQWJzb2x1dGUgcGF0aCB0byB0aGUgYnVuZGxlJ3Mgcm9vdCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIGJ1bmRsZVBhdGg6IHN0cmluZztcbiAgLyoqIFJlc291cmNlIGtleSB1bmRlciBgcmVzb3VyY2VzLmFwcHNgLiAqL1xuICBrZXk6IHN0cmluZztcbiAgLyoqIEFic29sdXRlIHNvdXJjZSBkaXJlY3RvcnkgcmVzb2x2ZWQgZnJvbSBgc291cmNlX2NvZGVfcGF0aGAuICovXG4gIHNvdXJjZUNvZGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXBwIHJlc291cmNlIHJldHVybmVkIGJ5IGBkYXRhYnJpY2tzIGJ1bmRsZSB2YWxpZGF0ZWAuICovXG4gIGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBDb21wbGV0ZSByZXNvbHZlZCBidW5kbGUgcmV0dXJuZWQgYnkgYGRhdGFicmlja3MgYnVuZGxlIHZhbGlkYXRlYC4gKi9cbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBWYWxpZGF0aW9uIGZhaWx1cmUgYXNzb2NpYXRlZCB3aXRoIHBhcnRpYWwgYnVuZGxlIG91dHB1dC4gKi9cbiAgYnVuZGxlRmFpbHVyZT86IEVycm9yO1xufTtcblxuLyoqXG4gKiBTdHJlYW0gZXZlcnkgQXBwIHJlc291cmNlIGluIGJ1bmRsZXMgdW5kZXIgYHByb2plY3RCb3VuZGFyeWAuXG4gKlxuICogYGN3ZGAgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCBtYXkgbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LlxuICogQnVuZGxlIGZpbGVzIGluIGl0cyBhbmNlc3RvciBjaGFpbiBhcmUgY2hlY2tlZCBiZWZvcmUgdGhlIHJlc3Qgb2YgdGhlIHByb2plY3RcbiAqIGJvdW5kYXJ5LiBObyBBcHAgWUFNTCBmaWxlIGlzIHJlcXVpcmVkLlxuICpcbiAqIEEgbWlzc2luZyBvciBpbnZhbGlkIGJvdW5kYXJ5L2N3ZCwgb3IgYSBjd2Qgb3V0c2lkZSB0aGUgYm91bmRhcnksIHlpZWxkc1xuICogbm90aGluZy4gQSBub24temVybyB2YWxpZGF0aW9uIHdpdGggcGFydGlhbCBKU09OIGF0dGFjaGVzXG4gKiBgYnVuZGxlRmFpbHVyZWAgdG8gZWFjaCBBcHAgcmVzb3VyY2UgcGFyc2VkIGZyb20gdGhhdCBidW5kbGUuIEEgZmFpbGVkXG4gKiB2YWxpZGF0aW9uIHdpdGggbm8gQXBwIHJlc291cmNlcyB5aWVsZHMgbm90aGluZy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBhcHBSZXNvdXJjZXMoXG4gIHByb2plY3RCb3VuZGFyeTogc3RyaW5nLFxuICBjd2Q/OiBzdHJpbmcsXG4gIHByb2ZpbGU/OiBzdHJpbmcsXG4pOiBBc3luY0dlbmVyYXRvcjxBcHBSZXNvdXJjZSwgdm9pZCwgdm9pZD4ge1xuICBjb25zdCBib3VuZGFyeSA9IGF3YWl0IHJlc29sdmVEaXJlY3RvcnkocHJvamVjdEJvdW5kYXJ5KTtcbiAgY29uc3Qgc3RhcnREaXJlY3RvcnkgPSBhd2FpdCByZXNvbHZlU3RhcnREaXJlY3RvcnkoY3dkKTtcbiAgaWYgKCFib3VuZGFyeSB8fCAhc3RhcnREaXJlY3RvcnkgfHwgIWlzV2l0aGluT3JFcXVhbChzdGFydERpcmVjdG9yeSwgYm91bmRhcnkpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIGF3YWl0IChjb25zdCBidW5kbGVQYXRoIG9mIGJ1bmRsZVBhdGhzKGJvdW5kYXJ5LCBzdGFydERpcmVjdG9yeSkpIHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBhd2FpdCB2YWxpZGF0ZUJ1bmRsZShidW5kbGVQYXRoLCBwcm9maWxlKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIGNvbmZpZ10gb2YgT2JqZWN0LmVudHJpZXMoYnVuZGxlQXBwcyh2YWxpZGF0ZWQuZGF0YSkpKSB7XG4gICAgICBpZiAoIW9iamVjdC5pc1JlY29yZChjb25maWcpKSBjb250aW51ZTtcbiAgICAgIHlpZWxkIHtcbiAgICAgICAgYnVuZGxlUGF0aCxcbiAgICAgICAga2V5LFxuICAgICAgICBjb25maWcsXG4gICAgICAgIGRhdGE6IHZhbGlkYXRlZC5kYXRhLFxuICAgICAgICAuLi5vYmplY3Qub3B0aW9uYWwoXG4gICAgICAgICAgXCJzb3VyY2VDb2RlUGF0aFwiLFxuICAgICAgICAgIHJlc29sdmVTb3VyY2VDb2RlUGF0aChidW5kbGVQYXRoLCBjb25maWcuc291cmNlX2NvZGVfcGF0aCksXG4gICAgICAgICksXG4gICAgICAgIC4uLm9iamVjdC5vcHRpb25hbChcImJ1bmRsZUZhaWx1cmVcIiwgdmFsaWRhdGVkLmJ1bmRsZUZhaWx1cmUpLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZURpcmVjdG9yeSh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNvbHZlZCA9IGF3YWl0IHJlYWxwYXRoKHJlc29sdmUodmFsdWUpKTtcbiAgICByZXR1cm4gKGF3YWl0IHN0YXQocmVzb2x2ZWQpKS5pc0RpcmVjdG9yeSgpID8gcmVzb2x2ZWQgOiB1bmRlZmluZWQ7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVN0YXJ0RGlyZWN0b3J5KGN3ZD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBhd2FpdCByZWFscGF0aChyZXNvbHZlV29ya2luZ0RpcmVjdG9yeShjd2QpKTtcbiAgICBjb25zdCBpbmZvID0gYXdhaXQgc3RhdChyZXNvbHZlZCk7XG4gICAgaWYgKGluZm8uaXNEaXJlY3RvcnkoKSkgcmV0dXJuIHJlc29sdmVkO1xuICAgIGlmIChpbmZvLmlzRmlsZSgpKSByZXR1cm4gZGlybmFtZShyZXNvbHZlZCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlU291cmNlQ29kZVBhdGgoYnVuZGxlUGF0aDogc3RyaW5nLCBzb3VyY2VDb2RlUGF0aDogdW5rbm93bik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2Ygc291cmNlQ29kZVBhdGggIT09IFwic3RyaW5nXCIpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiBpc0Fic29sdXRlKHNvdXJjZUNvZGVQYXRoKSA/IHNvdXJjZUNvZGVQYXRoIDogcmVzb2x2ZShkaXJuYW1lKGJ1bmRsZVBhdGgpLCBzb3VyY2VDb2RlUGF0aCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uKiBidW5kbGVQYXRocyhcbiAgYm91bmRhcnk6IHN0cmluZyxcbiAgc3RhcnREaXJlY3Rvcnk6IHN0cmluZyxcbik6IEFzeW5jR2VuZXJhdG9yPHN0cmluZywgdm9pZCwgdm9pZD4ge1xuICBjb25zdCBzZWVuID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGxldCBjdXJyZW50ID0gc3RhcnREaXJlY3Rvcnk7XG4gIHdoaWxlIChpc1dpdGhpbk9yRXF1YWwoY3VycmVudCwgYm91bmRhcnkpKSB7XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBCVU5ETEVfRklMRV9OQU1FUykge1xuICAgICAgY29uc3QgY2FuZGlkYXRlID0gam9pbihjdXJyZW50LCBmaWxlbmFtZSk7XG4gICAgICBpZiAoIShhd2FpdCBpc0ZpbGUoY2FuZGlkYXRlKSkpIGNvbnRpbnVlO1xuICAgICAgY29uc3QgcmVzb2x2ZWQgPSBhd2FpdCByZWFscGF0aChjYW5kaWRhdGUpO1xuICAgICAgaWYgKHNlZW4uaGFzKHJlc29sdmVkKSkgY29udGludWU7XG4gICAgICBzZWVuLmFkZChyZXNvbHZlZCk7XG4gICAgICB5aWVsZCByZXNvbHZlZDtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnQgPT09IGJvdW5kYXJ5KSBicmVhaztcbiAgICBjdXJyZW50ID0gZGlybmFtZShjdXJyZW50KTtcbiAgfVxuXG4gIHlpZWxkKiBkZXNjZW5kQnVuZGxlUGF0aHMoYm91bmRhcnksIHNlZW4pO1xufVxuXG5hc3luYyBmdW5jdGlvbiogZGVzY2VuZEJ1bmRsZVBhdGhzKFxuICBkaXJlY3Rvcnk6IHN0cmluZyxcbiAgc2VlbjogU2V0PHN0cmluZz4sXG4pOiBBc3luY0dlbmVyYXRvcjxzdHJpbmcsIHZvaWQsIHZvaWQ+IHtcbiAgY29uc3QgZW50cmllcyA9IGF3YWl0IG9wZW5kaXIoZGlyZWN0b3J5KTtcbiAgZm9yIGF3YWl0IChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgY29uc3QgY2FuZGlkYXRlID0gam9pbihkaXJlY3RvcnksIGVudHJ5Lm5hbWUpO1xuICAgIGlmIChlbnRyeS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICBjb25zdCBpZ25vcmVkID0gSUdOT1JFRF9ESVJFQ1RPUklFUy5zb21lKChpZ25vcmUpID0+IHtcbiAgICAgICAgaWYgKGlnbm9yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgcmV0dXJuIGlnbm9yZS50ZXN0KGVudHJ5Lm5hbWUpO1xuICAgICAgICByZXR1cm4gaWdub3JlID09PSBlbnRyeS5uYW1lO1xuICAgICAgfSk7XG4gICAgICBpZiAoIWlnbm9yZWQpIHtcbiAgICAgICAgeWllbGQqIGRlc2NlbmRCdW5kbGVQYXRocyhjYW5kaWRhdGUsIHNlZW4pO1xuICAgICAgfVxuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmICghZW50cnkuaXNGaWxlKCkgfHwgIUJVTkRMRV9GSUxFX05BTUVTLmhhcyhlbnRyeS5uYW1lKSkgY29udGludWU7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBhd2FpdCByZWFscGF0aChjYW5kaWRhdGUpO1xuICAgIGlmIChzZWVuLmhhcyhyZXNvbHZlZCkpIGNvbnRpbnVlO1xuICAgIHNlZW4uYWRkKHJlc29sdmVkKTtcbiAgICB5aWVsZCByZXNvbHZlZDtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUJ1bmRsZShcbiAgYnVuZGxlUGF0aDogc3RyaW5nLFxuICBwcm9maWxlPzogc3RyaW5nLFxuKTogUHJvbWlzZTxQaWNrPEFwcFJlc291cmNlLCBcImRhdGFcIiB8IFwiYnVuZGxlRmFpbHVyZVwiPj4ge1xuICBjb25zdCBlbnZpcm9ubWVudCA9IHsgLi4ucHJvY2Vzcy5lbnYgfTtcbiAgZGVsZXRlIGVudmlyb25tZW50LkRBVEFCUklDS1NfQ09ORklHX1BST0ZJTEU7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNwYXduKFxuICAgIFwiZGF0YWJyaWNrc1wiLFxuICAgIFtcImJ1bmRsZVwiLCBcInZhbGlkYXRlXCIsIFwiLS1vdXRwdXRcIiwgXCJqc29uXCIsIC4uLihwcm9maWxlID8gW1wiLS1wcm9maWxlXCIsIHByb2ZpbGVdIDogW10pXSxcbiAgICB7XG4gICAgICBjd2Q6IGRpcm5hbWUoYnVuZGxlUGF0aCksXG4gICAgICBlbnY6IGVudmlyb25tZW50LFxuICAgICAgc3RkaW46IFwiaWdub3JlXCIsXG4gICAgICBzdGRvdXQ6IFwiY2FwdHVyZVwiLFxuICAgICAgc3RkZXJyOiBcImNhcHR1cmVcIixcbiAgICB9LFxuICApO1xuICBjb25zdCBkZXRhaWwgPSBzdHJpbmdVdGlscy50cmltVG9OdWxsKHJlc3VsdC5zdGRlcnIpID8/IHN0cmluZ1V0aWxzLnRyaW1Ub051bGwocmVzdWx0LnN0ZG91dCk7XG4gIGNvbnN0IGJ1bmRsZUZhaWx1cmUgPVxuICAgIHJlc3VsdC5leGl0Q29kZSA9PT0gMFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogbmV3IEVycm9yKFxuICAgICAgICAgIGBkYXRhYnJpY2tzIGJ1bmRsZSB2YWxpZGF0ZSBmYWlsZWQgZm9yICR7YnVuZGxlUGF0aH0gKGV4aXQgJHtyZXN1bHQuZXhpdENvZGV9KSR7XG4gICAgICAgICAgICBkZXRhaWwgPyBgOiAke2RldGFpbH1gIDogXCJcIlxuICAgICAgICAgIH1gLFxuICAgICAgICApO1xuXG4gIGNvbnN0IHBhcnNlZCA9IGpzb24ucGFyc2VSZWNvcmQocmVzdWx0LnN0ZG91dCk7XG4gIGlmICghcGFyc2VkKSB7XG4gICAgaWYgKGJ1bmRsZUZhaWx1cmUpIHJldHVybiB7IGRhdGE6IHt9LCBidW5kbGVGYWlsdXJlIH07XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEYXRhYnJpY2tzIENMSSByZXR1cm5lZCBpbnZhbGlkIGJ1bmRsZSBKU09OIGZvciAke2J1bmRsZVBhdGh9YCk7XG4gIH1cbiAgcmV0dXJuIHsgZGF0YTogcGFyc2VkLCAuLi5vYmplY3Qub3B0aW9uYWwoXCJidW5kbGVGYWlsdXJlXCIsIGJ1bmRsZUZhaWx1cmUpIH07XG59XG5cbmZ1bmN0aW9uIGJ1bmRsZUFwcHMoYnVuZGxlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgY29uc3QgcmVzb3VyY2VzID0gb2JqZWN0LmlzUmVjb3JkKGJ1bmRsZS5yZXNvdXJjZXMpID8gYnVuZGxlLnJlc291cmNlcyA6IHVuZGVmaW5lZDtcbiAgcmV0dXJuIG9iamVjdC5pc1JlY29yZChyZXNvdXJjZXM/LmFwcHMpID8gcmVzb3VyY2VzLmFwcHMgOiB7fTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNGaWxlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICB0cnkge1xuICAgIHJldHVybiAoYXdhaXQgc3RhdChwYXRoKSkuaXNGaWxlKCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1dpdGhpbk9yRXF1YWwoY2FuZGlkYXRlOiBzdHJpbmcsIHBhcmVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhdGggPSByZWxhdGl2ZShwYXJlbnQsIGNhbmRpZGF0ZSk7XG4gIHJldHVybiBwYXRoID09PSBcIlwiIHx8IChwYXRoICE9PSBcIi4uXCIgJiYgIXBhdGguc3RhcnRzV2l0aChgLi4ke3NlcH1gKSAmJiAhaXNBYnNvbHV0ZShwYXRoKSk7XG59XG5cbmlmIChpbXBvcnQubWV0YS5tYWluKSB7XG4gIGNvbnN0IHBhdGggPSBwcm9jZXNzLmFyZ3ZbMl07XG4gIGlmICghcGF0aCkgdGhyb3cgbmV3IEVycm9yKFwiVXNhZ2U6IGJ1biBidW5kbGUudHMgPHBhdGg+XCIpO1xuICBmb3IgYXdhaXQgKGNvbnN0IHJlc291cmNlIG9mIGFwcFJlc291cmNlcyhwcm9qZWN0VXRpbHMucm9vdCgpISwgcGF0aCkpIHtcbiAgICBjb25zb2xlLmRpcihyZXNvdXJjZSwgeyBkZXB0aDogbnVsbCB9KTtcbiAgfVxufVxuIl19
|
|
179
|
+
if (import.meta.main)
|
|
180
|
+
void main();
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQztBQUN6RSxNQUFNLG1CQUFtQixHQUFHO0lBQzFCLE9BQU87SUFDUCxjQUFjO0lBQ2QsTUFBTTtJQUNOLE9BQU87SUFDUCxLQUFLO0lBQ0wsUUFBUTtJQUNSLEtBQUs7SUFDTCxRQUFRO0NBQ0EsQ0FBQztBQWlCWDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FDakMsZUFBdUIsRUFDdkIsR0FBWSxFQUNaLE9BQWdCO0lBRWhCLE1BQU0sUUFBUSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekQsTUFBTSxjQUFjLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4RCxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxRQUFRLENB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QUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQ3hELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDekMsT0FBTyxJQUFJLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsSUFBSSxDQUFDLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDMUQsSUFBSSxLQUFLLEVBQUUsTUFBTSxRQUFRLElBQUksWUFBWSxDQUFDLElBQUksRUFBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDekQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0FBQ0gsQ0FBQztBQUVELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJO0lBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RyZWFtaW5nIGRpc2NvdmVyeSBvZiBEYXRhYnJpY2tzIGJ1bmRsZSBBcHAgcmVzb3VyY2VzLlxuICpcbiAqIEJ1bmRsZSBmaWxlcyBhcmUgZm91bmQgd2l0aCBuYXRpdmUgZmlsZXN5c3RlbSB0cmF2ZXJzYWwgaW5zaWRlIGEgaGFyZCBwcm9qZWN0XG4gKiBib3VuZGFyeS4gRWFjaCBjYW5kaWRhdGUgaXMgcmVzb2x2ZWQgdGhyb3VnaCBgZGF0YWJyaWNrcyBidW5kbGUgdmFsaWRhdGVcbiAqIC0tb3V0cHV0IGpzb25gIHNvIGluY2x1ZGVzLCB0YXJnZXRzLCB2YXJpYWJsZXMsIGFuZCBBcHAgY29uZmlndXJhdGlvbiBmb2xsb3dcbiAqIHRoZSBEYXRhYnJpY2tzIENMSSdzIHNlbWFudGljcy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgb3BlbmRpciwgcmVhbHBhdGgsIHN0YXQgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgZGlybmFtZSwgaXNBYnNvbHV0ZSwgam9pbiwgcmVsYXRpdmUsIHJlc29sdmUsIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGpzb24sIG9iamVjdCwgc3RyaW5nVXRpbHMgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tIFwiLi9leGVjLnRzXCI7XG5pbXBvcnQgeyByZXNvbHZlV29ya2luZ0RpcmVjdG9yeSwgcm9vdCB9IGZyb20gXCIuL3Byb2plY3QtdXRpbHMudHNcIjtcblxuY29uc3QgQlVORExFX0ZJTEVfTkFNRVMgPSBuZXcgU2V0KFtcImRhdGFicmlja3MueW1sXCIsIFwiZGF0YWJyaWNrcy55YW1sXCJdKTtcbmNvbnN0IElHTk9SRURfRElSRUNUT1JJRVMgPSBbXG4gIC9eXFwuLiovLFxuICBcIm5vZGVfbW9kdWxlc1wiLFxuICBcImRpc3RcIixcbiAgXCJidWlsZFwiLFxuICBcIm91dFwiLFxuICBcInRhcmdldFwiLFxuICBcInRtcFwiLFxuICBcInZlbmRvclwiLFxuXSBhcyBjb25zdDtcblxudHlwZSBBcHBSZXNvdXJjZSA9IHtcbiAgLyoqIEFic29sdXRlIHBhdGggdG8gdGhlIGJ1bmRsZSdzIHJvb3QgY29uZmlndXJhdGlvbiBmaWxlLiAqL1xuICBidW5kbGVQYXRoOiBzdHJpbmc7XG4gIC8qKiBSZXNvdXJjZSBrZXkgdW5kZXIgYHJlc291cmNlcy5hcHBzYC4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBBYnNvbHV0ZSBzb3VyY2UgZGlyZWN0b3J5IHJlc29sdmVkIGZyb20gYHNvdXJjZV9jb2RlX3BhdGhgLiAqL1xuICBzb3VyY2VDb2RlUGF0aD86IHN0cmluZztcbiAgLyoqIEFwcCByZXNvdXJjZSByZXR1cm5lZCBieSBgZGF0YWJyaWNrcyBidW5kbGUgdmFsaWRhdGVgLiAqL1xuICBjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAvKiogQ29tcGxldGUgcmVzb2x2ZWQgYnVuZGxlIHJldHVybmVkIGJ5IGBkYXRhYnJpY2tzIGJ1bmRsZSB2YWxpZGF0ZWAuICovXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAvKiogVmFsaWRhdGlvbiBmYWlsdXJlIGFzc29jaWF0ZWQgd2l0aCBwYXJ0aWFsIGJ1bmRsZSBvdXRwdXQuICovXG4gIGJ1bmRsZUZhaWx1cmU/OiBFcnJvcjtcbn07XG5cbi8qKlxuICogU3RyZWFtIGV2ZXJ5IEFwcCByZXNvdXJjZSBpbiBidW5kbGVzIHVuZGVyIGBwcm9qZWN0Qm91bmRhcnlgLlxuICpcbiAqIGBjd2RgIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBhbmQgbWF5IG5hbWUgYSBmaWxlIG9yIGRpcmVjdG9yeS5cbiAqIEJ1bmRsZSBmaWxlcyBpbiBpdHMgYW5jZXN0b3IgY2hhaW4gYXJlIGNoZWNrZWQgYmVmb3JlIHRoZSByZXN0IG9mIHRoZSBwcm9qZWN0XG4gKiBib3VuZGFyeS4gTm8gQXBwIFlBTUwgZmlsZSBpcyByZXF1aXJlZC5cbiAqXG4gKiBBIG1pc3Npbmcgb3IgaW52YWxpZCBib3VuZGFyeS9jd2QsIG9yIGEgY3dkIG91dHNpZGUgdGhlIGJvdW5kYXJ5LCB5aWVsZHNcbiAqIG5vdGhpbmcuIEEgbm9uLXplcm8gdmFsaWRhdGlvbiB3aXRoIHBhcnRpYWwgSlNPTiBhdHRhY2hlc1xuICogYGJ1bmRsZUZhaWx1cmVgIHRvIGVhY2ggQXBwIHJlc291cmNlIHBhcnNlZCBmcm9tIHRoYXQgYnVuZGxlLiBBIGZhaWxlZFxuICogdmFsaWRhdGlvbiB3aXRoIG5vIEFwcCByZXNvdXJjZXMgeWllbGRzIG5vdGhpbmcuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogYXBwUmVzb3VyY2VzKFxuICBwcm9qZWN0Qm91bmRhcnk6IHN0cmluZyxcbiAgY3dkPzogc3RyaW5nLFxuICBwcm9maWxlPzogc3RyaW5nLFxuKTogQXN5bmNHZW5lcmF0b3I8QXBwUmVzb3VyY2UsIHZvaWQsIHZvaWQ+IHtcbiAgY29uc3QgYm91bmRhcnkgPSBhd2FpdCByZXNvbHZlRGlyZWN0b3J5KHByb2plY3RCb3VuZGFyeSk7XG4gIGNvbnN0IHN0YXJ0RGlyZWN0b3J5ID0gYXdhaXQgcmVzb2x2ZVN0YXJ0RGlyZWN0b3J5KGN3ZCk7XG4gIGlmICghYm91bmRhcnkgfHwgIXN0YXJ0RGlyZWN0b3J5IHx8ICFpc1dpdGhpbk9yRXF1YWwoc3RhcnREaXJlY3RvcnksIGJvdW5kYXJ5KSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciBhd2FpdCAoY29uc3QgYnVuZGxlUGF0aCBvZiBidW5kbGVQYXRocyhib3VuZGFyeSwgc3RhcnREaXJlY3RvcnkpKSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gYXdhaXQgdmFsaWRhdGVCdW5kbGUoYnVuZGxlUGF0aCwgcHJvZmlsZSk7XG4gICAgZm9yIChjb25zdCBba2V5LCBjb25maWddIG9mIE9iamVjdC5lbnRyaWVzKGJ1bmRsZUFwcHModmFsaWRhdGVkLmRhdGEpKSkge1xuICAgICAgaWYgKCFvYmplY3QuaXNSZWNvcmQoY29uZmlnKSkgY29udGludWU7XG4gICAgICB5aWVsZCB7XG4gICAgICAgIGJ1bmRsZVBhdGgsXG4gICAgICAgIGtleSxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhOiB2YWxpZGF0ZWQuZGF0YSxcbiAgICAgICAgLi4ub2JqZWN0Lm9wdGlvbmFsKFxuICAgICAgICAgIFwic291cmNlQ29kZVBhdGhcIixcbiAgICAgICAgICByZXNvbHZlU291cmNlQ29kZVBhdGgoYnVuZGxlUGF0aCwgY29uZmlnLnNvdXJjZV9jb2RlX3BhdGgpLFxuICAgICAgICApLFxuICAgICAgICAuLi5vYmplY3Qub3B0aW9uYWwoXCJidW5kbGVGYWlsdXJlXCIsIHZhbGlkYXRlZC5idW5kbGVGYWlsdXJlKSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlc29sdmVEaXJlY3RvcnkodmFsdWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBhd2FpdCByZWFscGF0aChyZXNvbHZlKHZhbHVlKSk7XG4gICAgcmV0dXJuIChhd2FpdCBzdGF0KHJlc29sdmVkKSkuaXNEaXJlY3RvcnkoKSA/IHJlc29sdmVkIDogdW5kZWZpbmVkO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlc29sdmVTdGFydERpcmVjdG9yeShjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgcmVhbHBhdGgocmVzb2x2ZVdvcmtpbmdEaXJlY3RvcnkoY3dkKSk7XG4gICAgY29uc3QgaW5mbyA9IGF3YWl0IHN0YXQocmVzb2x2ZWQpO1xuICAgIGlmIChpbmZvLmlzRGlyZWN0b3J5KCkpIHJldHVybiByZXNvbHZlZDtcbiAgICBpZiAoaW5mby5pc0ZpbGUoKSkgcmV0dXJuIGRpcm5hbWUocmVzb2x2ZWQpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVNvdXJjZUNvZGVQYXRoKGJ1bmRsZVBhdGg6IHN0cmluZywgc291cmNlQ29kZVBhdGg6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIHNvdXJjZUNvZGVQYXRoICE9PSBcInN0cmluZ1wiKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gaXNBYnNvbHV0ZShzb3VyY2VDb2RlUGF0aCkgPyBzb3VyY2VDb2RlUGF0aCA6IHJlc29sdmUoZGlybmFtZShidW5kbGVQYXRoKSwgc291cmNlQ29kZVBhdGgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiogYnVuZGxlUGF0aHMoXG4gIGJvdW5kYXJ5OiBzdHJpbmcsXG4gIHN0YXJ0RGlyZWN0b3J5OiBzdHJpbmcsXG4pOiBBc3luY0dlbmVyYXRvcjxzdHJpbmcsIHZvaWQsIHZvaWQ+IHtcbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBsZXQgY3VycmVudCA9IHN0YXJ0RGlyZWN0b3J5O1xuICB3aGlsZSAoaXNXaXRoaW5PckVxdWFsKGN1cnJlbnQsIGJvdW5kYXJ5KSkge1xuICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgQlVORExFX0ZJTEVfTkFNRVMpIHtcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZSA9IGpvaW4oY3VycmVudCwgZmlsZW5hbWUpO1xuICAgICAgaWYgKCEoYXdhaXQgaXNGaWxlKGNhbmRpZGF0ZSkpKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgcmVhbHBhdGgoY2FuZGlkYXRlKTtcbiAgICAgIGlmIChzZWVuLmhhcyhyZXNvbHZlZCkpIGNvbnRpbnVlO1xuICAgICAgc2Vlbi5hZGQocmVzb2x2ZWQpO1xuICAgICAgeWllbGQgcmVzb2x2ZWQ7XG4gICAgfVxuICAgIGlmIChjdXJyZW50ID09PSBib3VuZGFyeSkgYnJlYWs7XG4gICAgY3VycmVudCA9IGRpcm5hbWUoY3VycmVudCk7XG4gIH1cblxuICB5aWVsZCogZGVzY2VuZEJ1bmRsZVBhdGhzKGJvdW5kYXJ5LCBzZWVuKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24qIGRlc2NlbmRCdW5kbGVQYXRocyhcbiAgZGlyZWN0b3J5OiBzdHJpbmcsXG4gIHNlZW46IFNldDxzdHJpbmc+LFxuKTogQXN5bmNHZW5lcmF0b3I8c3RyaW5nLCB2b2lkLCB2b2lkPiB7XG4gIGNvbnN0IGVudHJpZXMgPSBhd2FpdCBvcGVuZGlyKGRpcmVjdG9yeSk7XG4gIGZvciBhd2FpdCAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgIGNvbnN0IGNhbmRpZGF0ZSA9IGpvaW4oZGlyZWN0b3J5LCBlbnRyeS5uYW1lKTtcbiAgICBpZiAoZW50cnkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgY29uc3QgaWdub3JlZCA9IElHTk9SRURfRElSRUNUT1JJRVMuc29tZSgoaWdub3JlKSA9PiB7XG4gICAgICAgIGlmIChpZ25vcmUgaW5zdGFuY2VvZiBSZWdFeHApIHJldHVybiBpZ25vcmUudGVzdChlbnRyeS5uYW1lKTtcbiAgICAgICAgcmV0dXJuIGlnbm9yZSA9PT0gZW50cnkubmFtZTtcbiAgICAgIH0pO1xuICAgICAgaWYgKCFpZ25vcmVkKSB7XG4gICAgICAgIHlpZWxkKiBkZXNjZW5kQnVuZGxlUGF0aHMoY2FuZGlkYXRlLCBzZWVuKTtcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoIWVudHJ5LmlzRmlsZSgpIHx8ICFCVU5ETEVfRklMRV9OQU1FUy5oYXMoZW50cnkubmFtZSkpIGNvbnRpbnVlO1xuICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgcmVhbHBhdGgoY2FuZGlkYXRlKTtcbiAgICBpZiAoc2Vlbi5oYXMocmVzb2x2ZWQpKSBjb250aW51ZTtcbiAgICBzZWVuLmFkZChyZXNvbHZlZCk7XG4gICAgeWllbGQgcmVzb2x2ZWQ7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVCdW5kbGUoXG4gIGJ1bmRsZVBhdGg6IHN0cmluZyxcbiAgcHJvZmlsZT86IHN0cmluZyxcbik6IFByb21pc2U8UGljazxBcHBSZXNvdXJjZSwgXCJkYXRhXCIgfCBcImJ1bmRsZUZhaWx1cmVcIj4+IHtcbiAgY29uc3QgZW52aXJvbm1lbnQgPSB7IC4uLnByb2Nlc3MuZW52IH07XG4gIGRlbGV0ZSBlbnZpcm9ubWVudC5EQVRBQlJJQ0tTX0NPTkZJR19QUk9GSUxFO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBzcGF3bihcbiAgICBcImRhdGFicmlja3NcIixcbiAgICBbXCJidW5kbGVcIiwgXCJ2YWxpZGF0ZVwiLCBcIi0tb3V0cHV0XCIsIFwianNvblwiLCAuLi4ocHJvZmlsZSA/IFtcIi0tcHJvZmlsZVwiLCBwcm9maWxlXSA6IFtdKV0sXG4gICAge1xuICAgICAgY3dkOiBkaXJuYW1lKGJ1bmRsZVBhdGgpLFxuICAgICAgZW52OiBlbnZpcm9ubWVudCxcbiAgICAgIHN0ZGluOiBcImlnbm9yZVwiLFxuICAgICAgc3Rkb3V0OiBcImNhcHR1cmVcIixcbiAgICAgIHN0ZGVycjogXCJjYXB0dXJlXCIsXG4gICAgfSxcbiAgKTtcbiAgY29uc3QgZGV0YWlsID0gc3RyaW5nVXRpbHMudHJpbVRvTnVsbChyZXN1bHQuc3RkZXJyKSA/PyBzdHJpbmdVdGlscy50cmltVG9OdWxsKHJlc3VsdC5zdGRvdXQpO1xuICBjb25zdCBidW5kbGVGYWlsdXJlID1cbiAgICByZXN1bHQuZXhpdENvZGUgPT09IDBcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IG5ldyBFcnJvcihcbiAgICAgICAgICBgZGF0YWJyaWNrcyBidW5kbGUgdmFsaWRhdGUgZmFpbGVkIGZvciAke2J1bmRsZVBhdGh9IChleGl0ICR7cmVzdWx0LmV4aXRDb2RlfSkke1xuICAgICAgICAgICAgZGV0YWlsID8gYDogJHtkZXRhaWx9YCA6IFwiXCJcbiAgICAgICAgICB9YCxcbiAgICAgICAgKTtcblxuICBjb25zdCBwYXJzZWQgPSBqc29uLnBhcnNlUmVjb3JkKHJlc3VsdC5zdGRvdXQpO1xuICBpZiAoIXBhcnNlZCkge1xuICAgIGlmIChidW5kbGVGYWlsdXJlKSByZXR1cm4geyBkYXRhOiB7fSwgYnVuZGxlRmFpbHVyZSB9O1xuICAgIHRocm93IG5ldyBFcnJvcihgRGF0YWJyaWNrcyBDTEkgcmV0dXJuZWQgaW52YWxpZCBidW5kbGUgSlNPTiBmb3IgJHtidW5kbGVQYXRofWApO1xuICB9XG4gIHJldHVybiB7IGRhdGE6IHBhcnNlZCwgLi4ub2JqZWN0Lm9wdGlvbmFsKFwiYnVuZGxlRmFpbHVyZVwiLCBidW5kbGVGYWlsdXJlKSB9O1xufVxuXG5mdW5jdGlvbiBidW5kbGVBcHBzKGJ1bmRsZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIGNvbnN0IHJlc291cmNlcyA9IG9iamVjdC5pc1JlY29yZChidW5kbGUucmVzb3VyY2VzKSA/IGJ1bmRsZS5yZXNvdXJjZXMgOiB1bmRlZmluZWQ7XG4gIHJldHVybiBvYmplY3QuaXNSZWNvcmQocmVzb3VyY2VzPy5hcHBzKSA/IHJlc291cmNlcy5hcHBzIDoge307XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGlzRmlsZShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gKGF3YWl0IHN0YXQocGF0aCkpLmlzRmlsZSgpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNXaXRoaW5PckVxdWFsKGNhbmRpZGF0ZTogc3RyaW5nLCBwYXJlbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYXRoID0gcmVsYXRpdmUocGFyZW50LCBjYW5kaWRhdGUpO1xuICByZXR1cm4gcGF0aCA9PT0gXCJcIiB8fCAocGF0aCAhPT0gXCIuLlwiICYmICFwYXRoLnN0YXJ0c1dpdGgoYC4uJHtzZXB9YCkgJiYgIWlzQWJzb2x1dGUocGF0aCkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwYXRoID0gcHJvY2Vzcy5hcmd2WzJdO1xuICBpZiAoIXBhdGgpIHRocm93IG5ldyBFcnJvcihcIlVzYWdlOiBidW4gYnVuZGxlLnRzIDxwYXRoPlwiKTtcbiAgZm9yIGF3YWl0IChjb25zdCByZXNvdXJjZSBvZiBhcHBSZXNvdXJjZXMocm9vdCgpISwgcGF0aCkpIHtcbiAgICBjb25zb2xlLmRpcihyZXNvdXJjZSwgeyBkZXB0aDogbnVsbCB9KTtcbiAgfVxufVxuXG5pZiAoaW1wb3J0Lm1ldGEubWFpbikgdm9pZCBtYWluKCk7XG4iXX0=
|
package/package.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"typescript": "^5.9.3"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
28
|
+
"@dbx-tools/shared-core": "^0.9.119",
|
|
29
29
|
"extract-zip": "^2.0.1",
|
|
30
30
|
"proper-lockfile": "^4.1.2",
|
|
31
31
|
"semver": "^7.7.3",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"./package.json": "./package.json"
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
|
-
"version": "0.9.
|
|
94
|
+
"version": "0.9.119",
|
|
95
95
|
"types": "./lib/index.d.ts",
|
|
96
96
|
"dbxToolsConfig": {
|
|
97
97
|
"tags": [
|
package/src/bundle.ts
CHANGED
|
@@ -13,8 +13,7 @@ import { opendir, realpath, stat } from "node:fs/promises";
|
|
|
13
13
|
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
14
14
|
import { json, object, stringUtils } from "@dbx-tools/shared-core";
|
|
15
15
|
import { spawn } from "./exec.ts";
|
|
16
|
-
import { resolveWorkingDirectory } from "./project-utils.ts";
|
|
17
|
-
import { projectUtils } from "../index.ts";
|
|
16
|
+
import { resolveWorkingDirectory, root } from "./project-utils.ts";
|
|
18
17
|
|
|
19
18
|
const BUNDLE_FILE_NAMES = new Set(["databricks.yml", "databricks.yaml"]);
|
|
20
19
|
const IGNORED_DIRECTORIES = [
|
|
@@ -211,10 +210,12 @@ function isWithinOrEqual(candidate: string, parent: string): boolean {
|
|
|
211
210
|
return path === "" || (path !== ".." && !path.startsWith(`..${sep}`) && !isAbsolute(path));
|
|
212
211
|
}
|
|
213
212
|
|
|
214
|
-
|
|
213
|
+
async function main(): Promise<void> {
|
|
215
214
|
const path = process.argv[2];
|
|
216
215
|
if (!path) throw new Error("Usage: bun bundle.ts <path>");
|
|
217
|
-
for await (const resource of appResources(
|
|
216
|
+
for await (const resource of appResources(root()!, path)) {
|
|
218
217
|
console.dir(resource, { depth: null });
|
|
219
218
|
}
|
|
220
219
|
}
|
|
220
|
+
|
|
221
|
+
if (import.meta.main) void main();
|