{"version":3,"sources":["jsdelivr-header.js","/npm/resin-multibuild@4.12.2/build/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,gBAAmB,MAAQ,KAAK,kBAAqB,OAAO,OAAS,SAAU,EAAG,EAAG,EAAG,QAC7E,IAAP,IAAkB,EAAK,GAC3B,OAAO,eAAe,EAAG,EAAI,CAAE,YAAY,EAAM,IAAK,WAAa,OAAO,EAAE,EAAI,GACnF,EAAI,SAAU,EAAG,EAAG,EAAG,QACT,IAAP,IAAkB,EAAK,GAC3B,EAAE,GAAM,EAAE,EACb,GACG,aAAgB,MAAQ,KAAK,cAAiB,SAAS,EAAG,GAC1D,IAAK,IAAI,KAAK,EAAa,YAAN,GAAoB,OAAO,UAAU,eAAe,KAAK,EAAS,IAAI,gBAAgB,EAAS,EAAG,EAC3H,EACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,QAAQ,mBAAqB,QAAQ,wBAA0B,QAAQ,cAAgB,QAAQ,wBAA0B,QAAQ,kBAAoB,QAAQ,gBAAkB,QAAQ,qBAAuB,QAAQ,iBAAmB,QAAQ,kBAAoB,QAAQ,UAAY,QAAQ,mBAAqB,QAAQ,sBAAwB,QAAQ,mBAAgB,EAC9W,MAAM,SAAW,QAAQ,YACnB,EAAI,QAAQ,UACZ,KAAO,QAAQ,QACf,QAAU,QAAQ,uBAClB,IAAM,QAAQ,cACd,SAAW,QAAQ,aACnB,QAAU,QAAQ,WAClB,iBAAmB,QAAQ,oBAC3B,gBAAkB,QAAQ,mBAC1B,UAAY,QAAQ,eACpB,SAAW,QAAQ,YACnB,UAAY,QAAQ,gBAC1B,QAAQ,UAAY,UACpB,MAAM,aAAe,QAAQ,gBACvB,UAAY,QAAQ,aACpB,MAAQ,QAAQ,WACtB,IAAI,iBAAmB,QAAQ,oBAC/B,OAAO,eAAe,QAAS,gBAAiB,CAAE,YAAY,EAAM,IAAK,WAAc,OAAO,iBAAiB,aAAe,IAC9H,aAAa,QAAQ,gBAAiB,SACtC,aAAa,QAAQ,YAAa,SAClC,aAAa,QAAQ,iBAAkB,SACvC,aAAa,QAAQ,sBAAuB,SAC5C,IAAI,UAAY,QAAQ,aACxB,OAAO,eAAe,QAAS,wBAAyB,CAAE,YAAY,EAAM,IAAK,WAAc,OAAO,UAAU,qBAAuB,IACvI,IAAI,QAAU,QAAQ,WACtB,OAAO,eAAe,QAAS,qBAAsB,CAAE,YAAY,EAAM,IAAK,WAAc,OAAO,QAAQ,kBAAoB,IAC/H,IAAI,YAAc,QAAQ,eAE1B,SAAS,iBAAiB,EAAa,GAEnC,OAAO,qBADQ,QAAQ,MAAM,GACO,EACxC,CAEA,eAAe,qBAAqB,EAAQ,EAAa,EAAsB,CAAC,WAAY,YACxF,MAAM,EAAgB,IAAI,iBAAiB,QAAQ,GAC7C,QAAkB,EAAc,gBAAgB,GACtD,OAAO,IAAI,SAAQ,CAAC,EAAS,KACzB,MAAM,EAAQ,MAAM,mBAAmB,EAAQ,GACzC,EAAU,IAAI,UAwCpB,EAAQ,GAAG,SAvCK,CAAC,EAAQ,EAAQ,KAC7B,MAAM,EAAgB,EAAE,OAAO,GAAQ,IAC/B,EAAK,WAGF,EAAI,aAAa,eAAe,EAAK,QAAS,EAAO,QAE5D,EAAc,OAAS,EACvB,SAAS,eAAe,GACnB,MAAM,IACP,EAAc,SAAS,IACnB,MAAM,EAAW,KAAK,MAAM,SAAS,EAAK,QAAS,EAAO,MAC1D,GAAI,UAAU,eAAe,GAAW,CACpC,GAAqB,MAAjB,EAAK,SACL,MAAM,IAAI,SAAS,4BAA4B,EAAK,aAExD,EAAK,SAAW,UAAU,gBAAgB,EAC9C,CACA,MAAM,EAAY,EAAE,UAAU,GAC9B,EAAU,KAAO,EACjB,EAAK,YAAY,MAAM,EAAW,EAAI,GACxC,IAED,MAAK,KACN,IACO,QAEN,MAAM,SAAS,cAAe,GAC9B,OAAO,GAAM,EAAO,IAAI,SAAS,SAAS,MAG/C,SAAS,YAAY,GAChB,MAAK,KACN,IACO,QAEN,OAAO,GAAM,EAAO,IAAI,SAAS,SAAS,KACnD,IAGJ,EAAQ,GAAG,UAAU,KACjB,EAAE,KAAK,GAAQ,IACN,EAAK,UACN,EAAK,YAAY,UACrB,IAEJ,EAAQ,EAAM,IAElB,EAAQ,GAAG,SAAU,IACjB,EAAO,IAAI,SAAS,SAAS,GAAG,IAEpC,EAAU,KAAK,EAAQ,IACxB,MAAM,IACL,UAAU,yBAAyB,GAC5B,IAEf,CAEA,SAAS,gBAAgB,GACrB,OAAqB,IAAjB,EAAM,SAGF,EAAE,SAAQ,EAAI,gBAAgB,6BAA6B,EAAE,IAAI,EAAO,eAAgB,EAAM,GAAG,cAAe,QAC5H,CAEA,SAAS,kBAAkB,EAAO,EAAc,EAAY,EAAkB,EAAwB,GAClG,OAAO,EAAM,KAAK,IACd,EAAK,aAAe,GACb,EAAI,UAAU,aAAa,EAAM,EAAc,EAAY,EAAkB,EAAwB,KAEpH,CAEA,SAAS,wBAAwB,EAAM,EAAc,EAAY,EAAkB,EAAwB,GAEvG,OADA,EAAK,aAAe,GACb,EAAI,UAAU,aAAa,EAAM,EAAc,EAAY,EAAkB,EAAwB,EAChH,CAEA,eAAe,cAAc,EAAO,EAAQ,GACxC,GAAqB,IAAjB,EAAM,OACN,MAAO,GAEX,MAAM,EAAgB,EAAM,GAAG,eACvB,QAAS,EAAW,WAAY,EAAe,aAAE,SAAwB,wBAAwB,EAAO,EAAQ,GAClH,QAAe,SAAS,IAAI,GAAQ,GAC/B,mBAAmB,EAAM,EAAQ,EAAiB,EAAW,EAAc,uBAAuB,EAAK,gBAElH,IAAK,EAAE,QAAQ,GACX,UACU,EAAI,gBAAgB,eAAe,EAAQ,EAAW,EAAc,EAC9E,CACA,MAAO,GACH,MAAM,IAAI,SAAS,mBAAmB,EAC1C,CAEJ,OAAO,CACX,CAEA,eAAe,wBAAwB,EAAO,EAAQ,GAClD,GAAqB,IAAjB,EAAM,OACN,MAAO,CACH,QAAS,CAAC,EACV,WAAY,CAAC,EACb,aAAc,IAGtB,MAAM,EAAgB,EAAM,GAAG,cACzB,SAAsB,EAAO,WAAW,KAC9C,EAAc,gBACd,MAAM,EAAkB,EAAc,gBAChC,GAAY,EAAI,gBAAgB,6BAA6B,EAAE,IAAI,EAAO,eAAgB,EAAe,GAK/G,OAJoB,EAAE,QAAQ,UAEpB,EAAI,gBAAgB,iBAAiB,EAAQ,EAAW,EAAc,GAEzE,CACH,QAAS,EACT,WAAY,EACZ,eAER,CAEA,eAAe,mBAAmB,EAAM,EAAQ,EAAiB,EAAW,GACxE,IACI,aAAa,EAAI,QAAQ,cAAc,EAAM,EAAQ,EAAiB,EAAW,EACrF,CACA,MAAO,GACH,MAAM,IAAI,SAAS,kBAAkB,EACzC,CACJ,CA5IA,OAAO,eAAe,QAAS,oBAAqB,CAAE,YAAY,EAAM,IAAK,WAAc,OAAO,YAAY,iBAAmB,IAKjI,QAAQ,iBAAmB,iBAgE3B,QAAQ,qBAAuB,qBAO/B,QAAQ,gBAAkB,gBAO1B,QAAQ,kBAAoB,kBAK5B,QAAQ,wBAA0B,wBAoBlC,QAAQ,cAAgB,cAwBxB,QAAQ,wBAA0B,wBASlC,QAAQ,mBAAqB","file":"/npm/resin-multibuild@4.12.2/build/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/resin-multibuild@4.12.2/build/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.performSingleBuild = exports.initializeBuildMetadata = exports.performBuilds = exports.performSingleResolution = exports.performResolution = exports.buildHasSecrets = exports.fromImageDescriptors = exports.splitBuildStream = exports.CANONICAL_HUB_URL = exports.PathUtils = exports.getRegistryAndName = exports.resolveDockerPlatform = exports.QEMU_BIN_NAME = void 0;\nconst Bluebird = require(\"bluebird\");\nconst _ = require(\"lodash\");\nconst path = require(\"path\");\nconst Compose = require(\"resin-compose-parse\");\nconst tar = require(\"tar-stream\");\nconst TarUtils = require(\"tar-utils\");\nconst build_1 = require(\"./build\");\nconst build_metadata_1 = require(\"./build-metadata\");\nconst build_secrets_1 = require(\"./build-secrets\");\nconst contracts = require(\"./contracts\");\nconst errors_1 = require(\"./errors\");\nconst PathUtils = require(\"./path-utils\");\nexports.PathUtils = PathUtils;\nconst path_utils_1 = require(\"./path-utils\");\nconst resolve_1 = require(\"./resolve\");\nconst Utils = require(\"./utils\");\nvar build_metadata_2 = require(\"./build-metadata\");\nObject.defineProperty(exports, \"QEMU_BIN_NAME\", { enumerable: true, get: function () { return build_metadata_2.QEMU_BIN_NAME; } });\n__exportStar(require(\"./build-task\"), exports);\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./local-image\"), exports);\n__exportStar(require(\"./registry-secrets\"), exports);\nvar resolve_2 = require(\"./resolve\");\nObject.defineProperty(exports, \"resolveDockerPlatform\", { enumerable: true, get: function () { return resolve_2.resolveDockerPlatform; } });\nvar utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"getRegistryAndName\", { enumerable: true, get: function () { return utils_1.getRegistryAndName; } });\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"CANONICAL_HUB_URL\", { enumerable: true, get: function () { return constants_1.CANONICAL_HUB_URL; } });\nfunction splitBuildStream(composition, buildStream) {\n    const images = Compose.parse(composition);\n    return fromImageDescriptors(images, buildStream);\n}\nexports.splitBuildStream = splitBuildStream;\nasync function fromImageDescriptors(images, buildStream, metadataDirectories = ['.balena/', '.resin/']) {\n    const buildMetadata = new build_metadata_1.default(metadataDirectories);\n    const newStream = await buildMetadata.extractMetadata(buildStream);\n    return new Promise((resolve, reject) => {\n        const tasks = Utils.generateBuildTasks(images, buildMetadata);\n        const extract = tar.extract();\n        const entryFn = (header, stream, next) => {\n            const matchingTasks = _.filter(tasks, (task) => {\n                if (task.external) {\n                    return false;\n                }\n                return (0, path_utils_1.posixContains)(task.context, header.name);\n            });\n            if (matchingTasks.length > 0) {\n                TarUtils.streamToBuffer(stream)\n                    .then((buf) => {\n                    matchingTasks.forEach((task) => {\n                        const relative = path.posix.relative(task.context, header.name);\n                        if (contracts.isContractFile(relative)) {\n                            if (task.contract != null) {\n                                throw new errors_1.MultipleContractsForService(task.serviceName);\n                            }\n                            task.contract = contracts.processContract(buf);\n                        }\n                        const newHeader = _.cloneDeep(header);\n                        newHeader.name = relative;\n                        task.buildStream.entry(newHeader, buf);\n                    });\n                })\n                    .then(() => {\n                    next();\n                    return null;\n                })\n                    .catch(errors_1.ContractError, reject)\n                    .catch((e) => reject(new errors_1.TarError(e)));\n            }\n            else {\n                TarUtils.drainStream(stream)\n                    .then(() => {\n                    next();\n                    return null;\n                })\n                    .catch((e) => reject(new errors_1.TarError(e)));\n            }\n        };\n        extract.on('entry', entryFn);\n        extract.on('finish', () => {\n            _.each(tasks, (task) => {\n                if (!task.external) {\n                    task.buildStream.finalize();\n                }\n            });\n            resolve(tasks);\n        });\n        extract.on('error', (e) => {\n            reject(new errors_1.TarError(e));\n        });\n        newStream.pipe(extract);\n    }).then((tasks) => {\n        contracts.checkContractNamesUnique(tasks);\n        return tasks;\n    });\n}\nexports.fromImageDescriptors = fromImageDescriptors;\nfunction buildHasSecrets(tasks) {\n    if (tasks.length === 0) {\n        return false;\n    }\n    return !_.isEmpty((0, build_secrets_1.generateSecretPopulationMap)(_.map(tasks, 'serviceName'), tasks[0].buildMetadata, '/tmp'));\n}\nexports.buildHasSecrets = buildHasSecrets;\nfunction performResolution(tasks, architecture, deviceType, resolveListeners, additionalTemplateVars, dockerfilePreprocessHook) {\n    return tasks.map((task) => {\n        task.architecture = architecture;\n        return (0, resolve_1.resolveTask)(task, architecture, deviceType, resolveListeners, additionalTemplateVars, dockerfilePreprocessHook);\n    });\n}\nexports.performResolution = performResolution;\nfunction performSingleResolution(task, architecture, deviceType, resolveListeners, additionalTemplateVars, dockerfilePreprocessHook) {\n    task.architecture = architecture;\n    return (0, resolve_1.resolveTask)(task, architecture, deviceType, resolveListeners, additionalTemplateVars, dockerfilePreprocessHook);\n}\nexports.performSingleResolution = performSingleResolution;\nasync function performBuilds(tasks, docker, tmpDir) {\n    if (tasks.length === 0) {\n        return [];\n    }\n    const buildMetadata = tasks[0].buildMetadata;\n    const { secrets: secretMap, regSecrets: registrySecrets, architecture, } = await initializeBuildMetadata(tasks, docker, tmpDir);\n    const images = await Bluebird.map(tasks, (task) => {\n        return performSingleBuild(task, docker, registrySecrets, secretMap, buildMetadata.getBuildVarsForService(task.serviceName));\n    });\n    if (!_.isEmpty(secretMap)) {\n        try {\n            await (0, build_secrets_1.removeSecrets)(docker, secretMap, architecture, tmpDir);\n        }\n        catch (e) {\n            throw new errors_1.SecretRemovalError(e);\n        }\n    }\n    return images;\n}\nexports.performBuilds = performBuilds;\nasync function initializeBuildMetadata(tasks, docker, tmpDir) {\n    if (tasks.length === 0) {\n        return {\n            secrets: {},\n            regSecrets: {},\n            architecture: '',\n        };\n    }\n    const buildMetadata = tasks[0].buildMetadata;\n    const architecture = (await docker.version()).Arch;\n    buildMetadata.parseMetadata();\n    const registrySecrets = buildMetadata.registrySecrets;\n    const secretMap = (0, build_secrets_1.generateSecretPopulationMap)(_.map(tasks, 'serviceName'), buildMetadata, tmpDir);\n    const hasSecrets = !_.isEmpty(secretMap);\n    if (hasSecrets) {\n        await (0, build_secrets_1.populateSecrets)(docker, secretMap, architecture, tmpDir);\n    }\n    return {\n        secrets: secretMap,\n        regSecrets: registrySecrets,\n        architecture,\n    };\n}\nexports.initializeBuildMetadata = initializeBuildMetadata;\nasync function performSingleBuild(task, docker, registrySecrets, secretMap, buildArgs) {\n    try {\n        return await (0, build_1.runBuildTask)(task, docker, registrySecrets, secretMap, buildArgs);\n    }\n    catch (e) {\n        throw new errors_1.BuildProcessError(e);\n    }\n}\nexports.performSingleBuild = performSingleBuild;\n"]}