{"_id":"@git.zone/tsdocker","_rev":"66-76756cdff893be9dab27b3f82f7df1ee","name":"@git.zone/tsdocker","dist-tags":{"latest":"3.9.1"},"versions":{"1.2.43":{"name":"@git.zone/tsdocker","version":"1.2.43","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.2.43","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"98d8d91ea3015b9f97478934d20917b7d49f7fdb","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.2.43.tgz","fileCount":15,"integrity":"sha512-xdYueTBAb2sZcjs1E5yTSdcz0y1ZxGkEk4oAc6NkzpjOskopoTzQbKdEfYDlfsvRo/GpxdC9gvCsI/x5uBvi4w==","signatures":[{"sig":"MEUCIQDceW2aL07POfc7RYhKQP45wXVBJrPgJbWJVEEkMHkYWgIgQkNmOrM2sgk2SJxgSPOVXVQPPcNC6K5XHzgpIb2bCtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25810},"main":"dist/index.js","type":"module","_from":"file:git.zone-tsdocker-1.2.43.tgz","private":false,"scripts":{"test":"(npm run clean && npm run setupCheck && npm run testStandard && npm run testSpeed)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && node ../cli.ts.js clean --all)","testSpeed":"(cd test/ && node ../cli.ts.js speedtest)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && node ../cli.ts.js vscode)","testStandard":"(cd test/ && node ../cli.ts.js)"},"typings":"dist/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/05a686eddb3b1e28e32af7cb56ba80f0/git.zone-tsdocker-1.2.43.tgz","_integrity":"sha512-xdYueTBAb2sZcjs1E5yTSdcz0y1ZxGkEk4oAc6NkzpjOskopoTzQbKdEfYDlfsvRo/GpxdC9gvCsI/x5uBvi4w==","repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.6.2","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.1.0","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.19","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.2","@git.zone/tsrun":"^2.0.0","@git.zone/tstest":"^3.1.3","@git.zone/tsbuild":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.2.43_1765619094834_0.41355585504565817","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@git.zone/tsdocker","version":"1.3.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"c816479186e2f19e19c3503a4800a1fb54eaf3cb","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.3.0.tgz","fileCount":33,"integrity":"sha512-A4BUVb2Hph2wPW0AVRCxtVWjmIxUc/MSEHKOX0CczLxGT0309QKjclEWSvEGm8irajyA8dUyrFeYOQIetRt27g==","signatures":[{"sig":"MEYCIQCaZVOIUpUfax64zL2i90iy+i/H/S9mnyfyKFJJDuY1CAIhAKpfs+No0OQv+khM7uPiJEMmuLVG+jWbFBCuUZi4y0ct","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57472},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"e9a12f1c17cadbc80259618d7dfbc68867690324","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","testSpeed":"(cd test/ && tsx ../ts/index.ts speedtest)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.3.0_1768860552552_0.5343598200875641","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@git.zone/tsdocker","version":"1.4.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"1abb71270432dd456884a62f5a2cb8f340af87dc","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.4.0.tgz","fileCount":48,"integrity":"sha512-kFijCCYA6T5Cpj6b+7asldxI7QA0yeJaljnf7BjUKWnIyJ4M+4de2oqsdVZD4nlZ8iDGJvuUKodQzXyDpVPZtg==","signatures":[{"sig":"MEUCIQCgYfYSIEE8WTZ1zoJYV3UZ5w12UR007RvYNKWd7T7CugIgdtvHPvxIs9AoZIOmCcx/2qTRUgsnoPRKUOjRMwbZxgc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170492},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"6922d194548002f3dd86167a236022bb9dde8289","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.4.0_1768901624806_0.35656653478373146","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@git.zone/tsdocker","version":"1.4.1","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.4.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"accc689f74e781a2618b64945a70285295777243","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.4.1.tgz","fileCount":48,"integrity":"sha512-y2/+Rl8J1U6cPlQJUtghKD/9zW5sQaZrC3qlWGx/Fn2xtdSZq6WG5vYHONXdcNcaMs5HJxwToxo9MMlJu1j7rw==","signatures":[{"sig":"MEYCIQDe19Je1RQuakiiS/bzuMwupE/JgP4YbvmypsIaXwnKeAIhALm/gkCCFsbGSG/HjKfwV18oqE+qZ+sYmc4WrCMiQbU1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173814},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"9805324746649c39391f5911529a0f90efe5826e","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.4.1_1768912122772_0.8852352879595906","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@git.zone/tsdocker","version":"1.4.2","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.4.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"db8d57f826c33650e7025430398dda4b8cf79185","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.4.2.tgz","fileCount":48,"integrity":"sha512-SnvpY2G/HLHXCznEwb+02AwqbcpKppAcM0XzDZezWHq2D0tOTft/oSPgPe7MvImyJtzC48ZuuCQTf7XN9+HbOg==","signatures":[{"sig":"MEQCIGPBrpPNWx4G+e2FmrFGPCRjbuuaV+Avq9exr4Shaz5QAiBCmyJkorRhgMZtjzEIJxCHqeQ3vp+ME9aKTIkJ9ZHxuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173656},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"36f06cef091a83ced0a69e1e68d51b693d7d58b7","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.4.2_1768953819794_0.27676041879230895","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"@git.zone/tsdocker","version":"1.4.3","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.4.3","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"e43da53422078cd7269cf72a9f92131996b05a7f","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.4.3.tgz","fileCount":48,"integrity":"sha512-RPtyq1rYK9yXaurceqhmESp5mG6twQHFSn0Y2ybdWoIXT5F0VsFfdTFNCkB3927BplFE1C2cOV+nH1OOxz9CKQ==","signatures":[{"sig":"MEUCIQCBc6wDwMMigyXsozGcCSb78tpomgzcHfATlJFvq5el/wIgSY52RyVcLo7j4xaNdjVtz7T2sXaveKtteaTrDij97GM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177893},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"c279dbd55e1e587e7fe349843d890d2ecce292bb","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.4.3_1770213731777_0.9570937579793135","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@git.zone/tsdocker","version":"1.5.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.5.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"b6688cb2b63db07dbec70ff9041a87fc456d459c","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.5.0.tgz","fileCount":48,"integrity":"sha512-8Y4KdaTiwPR0CjoUOa0tJFATRG8wVkc9GC3wZsAVXgtYU08go7MQCNqeBCEIvcXVaLK1i/SxFHhxBSAeD5TAEQ==","signatures":[{"sig":"MEYCIQC50JlB23KlpytC51zoFnRBux0UjJxZM8nbLqsxm7wMlgIhAKiJ4qChKQWrhSzt2bM8I+6pyrLL2Lcy6XPGQhkKbcuN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191877},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"32eb0d1d7707b1c861182f4e2b822d0721196f5e","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.5.0_1770379126594_0.5376626046669513","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@git.zone/tsdocker","version":"1.6.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.6.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"30b45b2c540af46464c4865e8e20e6a00bf0967b","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.6.0.tgz","fileCount":48,"integrity":"sha512-D753XRwPs2uv4+TvO5rLoa7tXSvmNrO+lGyINXHBGaysGOr8jM7FJa2/qEU6yvj2sbmQMRnwp9ONrWTvUY/zjg==","signatures":[{"sig":"MEUCIGRRY982Ck4Q6vwF6qB5BvAhZGJfG7nV9EBfiKXH/MOmAiEAvIz6GPdtaAbWdcPXqDL+bsPHsAkhuM3p8SqWkWqFKB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195826},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"3a8b301b3e054efbb56ac76a3ed3606b2802b49f","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.6.0_1770384336335_0.5291758114082274","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@git.zone/tsdocker","version":"1.7.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.7.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"c215e5150e99a790caf395fed41bdc5b99aa09db","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.7.0.tgz","fileCount":48,"integrity":"sha512-uKSlqvQQheoSVtU3t+RTyKg788yR76dSXIW0tJjgztZuMAG6bJSIU7Sq0DHren/+SoHJpe6WxUxkp/+HJfgRZw==","signatures":[{"sig":"MEYCIQDZc15+9fxfjC1OkLPl4jjSVVu7Rvp5oYiYnnxMn7QyRwIhAMu15ysLyHRC6ZbFNXN9MN1dCTUq/avTLEg0qNa2HL0l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196146},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"7131c16f806dcb994ff046bcdb458940a852c6ef","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.7.0_1770385177321_0.756206648630886","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@git.zone/tsdocker","version":"1.8.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.8.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"e686cdaec5fd3aecf1121f1c1860c6da35fb9004","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.8.0.tgz","fileCount":51,"integrity":"sha512-Pp2QyubIReOzwRSbYUc2Uk6XiJvD1SBoVKkZ6dp4Wpcstwn3fyTYzlLvk+q5uAp/Zil6DaHrCqk+DIawAW7FjA==","signatures":[{"sig":"MEQCHyKuVWmxJePqpsbgTNTidNkAdnOkhCFzhRxcaPlu7kMCIQDsiV7gRW0qR7Wr5E6LjfZXv56wo1V5sPCw90uc/+KNYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215847},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"16cd0bbd878a63af31dd589714261e829a14bb79","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.8.0_1770387499428_0.13526179032912222","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@git.zone/tsdocker","version":"1.9.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.9.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"4ab2269771370e05aff4eaf2c5efbec2eb49d36f","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.9.0.tgz","fileCount":51,"integrity":"sha512-kF3U+JEjdjyy5YtRnKjTaoZGVWLub1kQ0jTsaK9oplcqJfZtn76AG6fg3pPPoCRUWGmIzjOsf/bNoH7WMBwzqA==","signatures":[{"sig":"MEQCIDfEE8ShQrK9uHeuxj7JC/u1kYujUH9Fi9DCfjR6w83FAiAODxVi2t3XlENwIRJYXOhNFIhaHKy/SqLx+tOqH6Mt9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224292},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"907048fa875595a2abf46e9064417921d5b1863f","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.9.0_1770389550557_0.036038315743665894","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@git.zone/tsdocker","version":"1.10.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.10.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"a0ae6d7f6a74868ba61b283a8290a40536879598","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.10.0.tgz","fileCount":51,"integrity":"sha512-Yc5IcHfDz46t1bpe0FLYtywWAoD1CMg7nHXM7Q+7tU1sv9Z5gSAiYtVEHXTVbTjzEtes7882sq2G1DGqGPQSLA==","signatures":[{"sig":"MEUCIQDyptJ+RAuz+432TyDqYnT8246Dz/6rwmKTHr+iLWtBAQIgTDVrnwGBXPOPrX2FwX+5XuQSeedCIHn/IHZOg0+OtRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225650},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"d1785aab860f856012458cbf118347660e22d0cb","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.10.0_1770390359850_0.10629218543445051","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@git.zone/tsdocker","version":"1.11.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.11.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"f400e16be115ca17926c60135bf1fbf15313b245","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.11.0.tgz","fileCount":51,"integrity":"sha512-jmmzhW6M/MJQjEYzJSEH6e6vYvEm+eC2Dz3Y8ueIOMHjC5ozoIbUh1tS1RvO8unYs4KJAgo4GHxYbxqXykJ5EA==","signatures":[{"sig":"MEQCIEfAsjn18QpeVi+PAWuAGC/T8BuZMJpoer8j/zaXNqvQAiBRI3tuZ9A2RO6dXhxgQrzrF54z11TD8ZXpt2f48+1Z5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238540},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"cfc7798d491af06047c443fe99a136dab9ace031","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.11.0_1770393226501_0.6896408822553537","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@git.zone/tsdocker","version":"1.12.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.12.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"a20469a698a1364596d9cc1ca2c7fe910ec41476","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.12.0.tgz","fileCount":51,"integrity":"sha512-cXDeYKDhRwfz8TxJdhenRslpYtHTdvKjv2nLB4hVlwTSIs8c9XD0/yRLe10reqt0ZEHjTXzvOOVFMlEenS6yHA==","signatures":[{"sig":"MEQCIFAaihfRcDk60Sz52msvhZ4UP981bPqGy7OQDgAVtveuAiBlec82WHrxe5CgOl7ZbSGUxfFSSmepxwAnZNFQZYn7Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242279},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"17de78aed397dfea9270f69b1f7a91faa36d7369","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.12.0_1770395762862_0.4569820902782693","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@git.zone/tsdocker","version":"1.13.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.13.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"aa87baa09620f47e39fc51fd1cf322319bad8eb0","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.13.0.tgz","fileCount":54,"integrity":"sha512-Qn4cMnLg7+I3LkewtOk4n2+X+VEbC9yL+gqaFve2zXDBI913XWet82n+7mfCOngYDuoTdq4H0pJLmPhvI/csZw==","signatures":[{"sig":"MEUCIQDljRq3iNZBdrdqerAERNrYVafdLgndbE3sK7HwSuSSzQIgVtBcDNEMFO7gf20arGw2KcYu5T3+dVKrFQr3C4tLRl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255624},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"b04b8c9033c10d4b1761bf6585e222489de8327e","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.13.0_1770438802856_0.5223960638237191","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@git.zone/tsdocker","version":"1.14.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.14.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"05e879e10613348da7e678a063382e9b1da0e4aa","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.14.0.tgz","fileCount":54,"integrity":"sha512-hJ3KdhZCyR13351mGZgYomfKn5jlP+5VQ0pILUDJEKFAgr1zVUQovdLvct3fIo/skbCsrEKJE2+IidyL3EX3CA==","signatures":[{"sig":"MEUCIE2e8YLIS6xrHtdwgoumY+NdO4SZ5gnRwyhm53stIaTmAiEA6hTpF1NNSgSs/KIf890X+JD2oB44rVrTWEuiMDkXZlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283288},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"3085eb590f0beaaa152f5f0729bfa9ceb48f629c","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.14.0_1770439581102_0.8900890628864602","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@git.zone/tsdocker","version":"1.15.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.15.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"c54a622012c2e708fd3db3d4160a1990558976e3","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.15.0.tgz","fileCount":54,"integrity":"sha512-1JAulOWbmj3u/72fb8OIquSJhFehB6voqEvY83nVn/RngY4eNz7xlSECBZ4k/XCNv7RKQK7neMpk2dS7B9Id1Q==","signatures":[{"sig":"MEUCIGlhdLlyHELmArkBgn1ioFb0nX2LwAvnLej3ilIqtufzAiEAibRz4EUCZBHWmgHoqWEHIQXsfBnz4jb+Zmwx0LLlONo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302799},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"aa0425f9bc55194eb78fc6ad606f375d66791b16","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.15.0_1770441466603_0.8905619383526031","host":"s3://npm-registry-packages-npm-production"}},"1.15.1":{"name":"@git.zone/tsdocker","version":"1.15.1","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.15.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"8aadac333022b144e953baf84c5a19a18330c3bb","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.15.1.tgz","fileCount":57,"integrity":"sha512-oncpIyNUxE5nyPB0SqZGeknA8cd7rfOARYNtkFmiBt0yqVXHJ84uZ8VtAYRoDQQMCcRVNRNfRy72imz+YLM7qA==","signatures":[{"sig":"MEUCIQCW/N5oLpuwNJOnVtPutpNksEeyD808woRqIxQziizBiAIgUIHwGcMlzy05AqjWRmsnDiVpWKUM2WntAbAJ1IXn+PM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":358671},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"63078139ecc824fb7b2310f01fbecbff18ca3815","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.15.1_1770457298058_0.73684289886499","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@git.zone/tsdocker","version":"1.16.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.16.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"ddd712610053366f1b5d3f42fa89457f0f18fbfd","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.16.0.tgz","fileCount":60,"integrity":"sha512-e4rYrCS5oPG3bvbmCA6PvSuZFtDBnQYJMA9o2hr/Myq4PkO1l+uHy8APaciQV0qC9cEcJZmd6fb4QUND3fBDEw==","signatures":[{"sig":"MEUCIG1vbN0KD9Rm/ukxSrubuHw1VuF9P/MzOxTeEe6mNPKTAiEAjw1BiF+2qjduTQ5k5KTzIVJSydZx/JLcsHpt9DJm/Fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393581},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"53b7bd7048cda7267469d8a7ad9a35614bfa0237","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.16.0_1770460267346_0.11750778182263133","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@git.zone/tsdocker","version":"1.17.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.17.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"398e46af230dbacd4ab5dd5cd71051ce05ed9f28","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.17.0.tgz","fileCount":60,"integrity":"sha512-fM4PR/PkE+y6gEoe2TCfzjSvuanmD7cdNGcjxXQ8YgxMPcc1yu1c5JLu0ZMKuxI5RVG/6Blw8CT4G7smPCrL2w==","signatures":[{"sig":"MEYCIQDVY+ZBxQTERlquQnpbvKPx7AHe00xGBzO9/8Ed75j+BAIhAPuK5tNRoVzJtOnM26ncOhyzHep4Unvwj6/fDEAJtw4t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399874},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"89cd93cdff0ac2611205cb57ae3d478ada64753e","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.17.0_1770465791690_0.5206265635918943","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"@git.zone/tsdocker","version":"1.17.1","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.17.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"29e46f79b5136372bd137e437fda0958771596c0","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.17.1.tgz","fileCount":60,"integrity":"sha512-wfPtOr3n/NPaKhp0jhr8PbHeJZpNvX5JOVo7PLhZd5iV6sM0H+0pZ6Su7Fzz4ct2ETpvaShrBfM5U0o9QKe+RA==","signatures":[{"sig":"MEQCIHr1I089jfDD4Pszoh9eVE+eyzs1iM0pJ6onintZtVJZAiAb/kCzwBMxFTJw8lUoPwvlLs6sp/Ey2JBoloN8jA953Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405751},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"7591e0ed900ccdc8242f99dfdcae363a8c171355","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.17.1_1770467407537_0.6461000963513035","host":"s3://npm-registry-packages-npm-production"}},"1.17.2":{"name":"@git.zone/tsdocker","version":"1.17.2","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.17.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"be5fd2811b7799a091f811aada5d13fabde6e1fd","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.17.2.tgz","fileCount":60,"integrity":"sha512-IQVBsYDL7ua1jDjN05I0xjc6liN0Z1Yst0Gt87BFkdTX5WpgtXFFS3CpaaYjUCJgiA7YX68cy888OxpEd02XMw==","signatures":[{"sig":"MEUCIQCayB2D6sxsiZmO4phRu84TlsBrL4Mbsb71TpTc2WEIBAIgaubt8IqXzhfKb3xc0ds+QcKDSs/FIBR7SfyHeniy+xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408005},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"4585801f321113ed64d335dad0ce9c7c5d260e90","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.17.2_1770468198133_0.0003451543241650423","host":"s3://npm-registry-packages-npm-production"}},"1.17.4":{"name":"@git.zone/tsdocker","version":"1.17.4","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@1.17.4","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"21652b936997f7d8dd340c318e0fe14ebe42ac20","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-1.17.4.tgz","fileCount":60,"integrity":"sha512-yuA7DfCLztkoPs0XetEP0gL7x/eh0g/e/tdTXJW7AciOBqgFvqoJ8iJCCIRgjT60NsctyEFUo9j1cgL/QxUr/w==","signatures":[{"sig":"MEQCIGo+7Hrreq1CurJ+NUa+oOqYhGwo6tk9QVysL2ARpq44AiBcyO+eV6mYSkBOEeUxzsoV74/eHolofK6BEiUcedMuZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408005},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"8f0514d10e59d720b867520f3b9febdb167984aa","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","clean":"(rm -rf test/)","compile":"(npmts --notest)","buildDocs":"tsdoc","testClean":"(cd test/ && tsx ../ts/index.ts clean --all)","setupCheck":"(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)","testVscode":"(cd test/ && tsx ../ts/index.ts vscode)","testStandard":"(cd test/ && tsx ../ts/index.ts)","testIntegration":"(npm run clean && npm run setupCheck && npm run testStandard)"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/qenv":"^6.1.3","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartopen":"^2.0.0","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartstring":"^4.1.0","@push.rocks/smartpromise":"^4.2.3","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartanalytics":"^2.0.15","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_1.17.4_1770469184868_0.5885357337148294","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@git.zone/tsdocker","version":"2.0.2","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.0.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"79fcecb9a37cd75c8552c9141107af4446cb9b6f","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.0.2.tgz","fileCount":53,"integrity":"sha512-mNsgqLREw1SCgxHycTnh1n2rNBvwKKMZl0tkSpjvXxKMRMJ/j62ai140jUeisjcUpFvyyv9Nu2djyKWwlSRRSg==","signatures":[{"sig":"MEYCIQDZ9xYnvyA2c2t7OV1Eiiqok4y/rbB4m9XVaheMeHfOXwIhAKRO89oqZ8rt4Ej/MiXMBnlc3al8jpanqyPNGiwHm8eq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":388232},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"732e9e5cacd3b1c393d7371adb50feab8ba83945","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.2.2","@push.rocks/smartfs":"^1.3.1","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.1.10","@push.rocks/smartshell":"^3.3.0","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.0.9","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.1.6","@git.zone/tsbuild":"^4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.0.2_1773346321571_0.9869623009875239","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@git.zone/tsdocker","version":"2.1.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.1.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"037ca24617682dbeafd02b67ed576196a294c04a","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.1.0.tgz","fileCount":59,"integrity":"sha512-C3gAyIjTl1jpS554u0720iuro6gOvUOqc2+p4KiwodGOXVrvKrzqug4LtjKI4XFAx0yB+pXf8puLluBn3oYM5w==","signatures":[{"sig":"MEUCIB6TaqUi1k00x1ggezBMwfhlzp0WXa14BaMHQ1FTwpYiAiEA7RRViT91hJg9nl/qquQhYwB5RFQATjKkUI3hEUfOGKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432093},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"3e4558abc56156ebe789342064c04c0fa69af358","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.3.1","@push.rocks/smartfs":"^1.5.0","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.7","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.3.2","@git.zone/tsbuild":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.1.0_1773605726997_0.805845280620411","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@git.zone/tsdocker","version":"2.2.0","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"437fb56c82824a542225f910c904c8c781db275c","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.0.tgz","fileCount":59,"integrity":"sha512-9/0aoojZG5rLS06eTiqCCY2lN2F21AKiBS7xLKsq/riKeclwoX/2j6HAoogv529qGNQ3XEKwKCcu28gOM8E52A==","signatures":[{"sig":"MEUCIAepGiNUjkOrhulirEP9k4VSNo7vnHhR8krxCDDpbDqQAiEA7ITtg3dsx3N8RAQY/exGBEzqbdAS6EwWiRS6hTXKLDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435416},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"93cf2ee7bfb3c811dc4a439404ea8abc9388336e","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.3.1","@push.rocks/smartfs":"^1.5.0","@push.rocks/npmextra":"^5.3.3","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.7","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.3.2","@git.zone/tsbuild":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.0_1773915506004_0.5936678858641538","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@git.zone/tsdocker","version":"2.2.1","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"dadc3ee24e25e86135214fbf37c56a12d686c602","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.1.tgz","fileCount":59,"integrity":"sha512-NHuScSIaOFqxq0tm8oYw6XqzcRP9UgzDxb0u4bn80F99FhV+KGN7A1u8IePIEyWTMJmVn3XLsbSlgyVpsO0dZg==","signatures":[{"sig":"MEQCIHw5nDR9bXoPGS4NDcKAGgphfDs1YJ2FhJcYowGr+MJ2AiARfGUOFWEIt6CxXxtudLgO71p84/6I4HHvah7EyLM9EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435440},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"30a5749fabacc26695e183de249c029acd916cf9","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.3.1","@push.rocks/smartfs":"^1.5.0","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.7","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartconfig":"^6.0.0","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.3.2","@git.zone/tsbuild":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.1_1774364849272_0.8592962397476347","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@git.zone/tsdocker","version":"2.2.2","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"e57c97f8f64b1efcaaecc4d098a478d44d16ad4c","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.2.tgz","fileCount":58,"integrity":"sha512-p1jXytWqR1S0zSnUEdvbCaHHeIqoKcbYw88DwtgFyQB84byH8F3WQjJTWzPadbWEB8R+czdJujqIP9oXQJJcYg==","signatures":[{"sig":"MEQCIFCwJoYD+mp9FsTqnl16wX4HuIC2lT/6Q5KPsS5XwJ7KAiALXBUUNxX1c/jwuOtIGVtPAGx7gbrK5Q51tbYj8hDWMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434857},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"3a4d5103040cf7cc454c055cd6fdf275e8ea112b","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.3.1","@push.rocks/smartfs":"^1.5.0","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.7","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartconfig":"^6.0.0","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.3.2","@git.zone/tsbuild":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.2_1774368769099_0.05490305064952272","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"@git.zone/tsdocker","version":"2.2.3","keywords":["docker"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.3","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"c0a85f5a4498e0a73406bda3f3bbfc5fa8f7126c","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.3.tgz","fileCount":59,"integrity":"sha512-jM3rVfB40XLjd5+V9QfYXK4R6RKiCueF3bAqtTsz2gImVomq9a4ogqn/o09nKKlp84DRCmCaOwvV7fWvvpiihQ==","signatures":[{"sig":"MEQCIBLZnIknXGJi3XCdbRjKb3Ii4+9Q2KW/SOAw33W/SeXuAiAc9G/j7MQfJOSl6VUYO0C7latvbvOV1p1ByoU2KtMulg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438618},"main":"dist_ts/index.js","pnpm":{"overrides":{}},"type":"module","gitHead":"c97306b22ad95c7a468cbb987cec5a767d9da157","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"develop npm modules cross platform with docker","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.3.1","@push.rocks/smartfs":"^1.5.0","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.7","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartconfig":"^6.0.0","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.3.2","@git.zone/tsbuild":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.3_1774371630496_0.4748892229520447","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"@git.zone/tsdocker","version":"2.2.4","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.4","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"e85c2925559fc0459197d5a89ea768f2ff3f8d81","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.4.tgz","fileCount":59,"integrity":"sha512-B5N8I159R0X9NOrYWx3kLQPuIW71uXKzb+RCS4h9N5FSlCOWVPDUU4yuv0dl24lWHsQmSgcnSqPRAUxhSCqZng==","signatures":[{"sig":"MEYCIQDb8PkPvcL8XgcJItf+NdgHXYzKAbOTvjHvOlKM2/0HfAIhAO0DpUTfD0E9m5j7xrXoh052746oUfPu8YgHYWBi9Dbd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438489},"main":"dist_ts/index.js","pnpm":{"overrides":{"lru-cache":">=11.0.0"}},"type":"module","gitHead":"461c4bb5a9b780a62f890f3589705cc9054ae3cf","private":false,"scripts":{"test":"(npm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.0","@push.rocks/smartfs":"^1.5.0","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartconfig":"^6.0.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.5.1","@git.zone/tsbuild":"^4.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.4_1774378620834_0.6185043977877511","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"@git.zone/tsdocker","version":"2.2.5","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.5","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"f4823cae1f88d4ae85c31633d2b2b88add1af954","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.5.tgz","fileCount":59,"integrity":"sha512-bVAbOAhiQuvkvmyCqfVs3cOI8xX9sitkt2Dg4zSKdFIu2nmYaLPW0PqtfpjhMSQr8zq1sdjth+j2KaVvupUlKw==","signatures":[{"sig":"MEUCIQDmUekT942KewwVGqBp/B34fj67+up/lpyEu9r5x2DlhwIgFk6fTOR5sI6hrn+aOwfSegTaCTi9h7jZjJSJfI4DT5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438490},"main":"dist_ts/index.js","pnpm":{"overrides":{"lru-cache":">=11.0.0"}},"type":"module","gitHead":"56cf0c0f52216488dbf73386a52b9465877f3883","private":false,"scripts":{"test":"(pnpm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.0","@push.rocks/smartfs":"^1.5.0","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.0.2","@push.rocks/smartconfig":"^6.0.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.5.1","@git.zone/tsbuild":"^4.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.5_1777553736834_0.06298091797804761","host":"s3://npm-registry-packages-npm-production"}},"2.2.6":{"name":"@git.zone/tsdocker","version":"2.2.6","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Lossless GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.6","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"e93fbffed7f9ae36ff4e4283698ee6e18ad6f9df","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.6.tgz","fileCount":59,"integrity":"sha512-vF0QT5od+t7UyWT8dQt6grybAiVx8EhpH6OZoMsleOrAyLMHEcfAKaPfTELXFnF5A+GPhAree+3KpRGyp5cGCg==","signatures":[{"sig":"MEUCIQCmDvvgX3Bgj7OlUtEIsmNEfIY9TIQ74hOpZ1qXz8XwXwIgfBcl1L10hOG8QuLuAx+GIOEx+bHAFbdf+cxSbEUeWHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438524},"main":"dist_ts/index.js","pnpm":{"overrides":{"lru-cache":">=11.0.0"}},"type":"module","gitHead":"ec911832ed46f2f69c949217712fc5ee582190ed","private":false,"scripts":{"test":"(pnpm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.0","@push.rocks/smartfs":"^1.5.0","@push.rocks/smartcli":"^4.0.20","@push.rocks/smartlog":"^3.2.1","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.0.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.5.0","@git.zone/tsrun":"^2.0.1","@git.zone/tstest":"^3.5.1","@git.zone/tsbuild":"^4.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.6_1778247636748_0.5713069902060548","host":"s3://npm-registry-packages-npm-production"}},"2.2.7":{"name":"@git.zone/tsdocker","version":"2.2.7","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.7","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"98d741731035da19b081e71a2581300ee59bcd91","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.7.tgz","fileCount":60,"integrity":"sha512-yVb9w4tjDkvf7579YTLnia+7H9CEHkeMM1JowFaoGbWPsmxUF1BX9wx2yp46Rem0YaHhxG/3yp6UWEDspKP6Fg==","signatures":[{"sig":"MEUCIQCljqmugtY0/YzRG/s2f5T8w8QThuOuc7Rqrl3hG+is2AIgE7TZ0ZSfYFRFL5aP40ka+G4SUyaXqEB/SXqz2aKunI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439840},"main":"dist_ts/index.js","type":"module","gitHead":"a88c8167630ea12c55689868d51aa7101a64109e","private":false,"scripts":{"test":"(pnpm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.6.2","@git.zone/tsrun":"^2.0.3","@git.zone/tstest":"^3.6.5","@git.zone/tsbuild":"^4.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.7_1778330042553_0.1693019703955756","host":"s3://npm-registry-packages-npm-production"}},"2.2.8":{"name":"@git.zone/tsdocker","version":"2.2.8","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.2.8","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"ccb3ff74106b7e04c4d1e2be6d25bec444541497","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.2.8.tgz","fileCount":60,"integrity":"sha512-1sXj+XOjC8GmsUIdGCDXUXrRC2kWwyvTWsf2lRzXe9TCgNK6uJn7jd3K0/x8zEWrvQrMkycFognlQGdnPOSBCQ==","signatures":[{"sig":"MEQCIEc/Jo7q79Z0h063D41Hl/YMSut+INYpob6n/YVYJI9qAiAA+wlpoIg1h/67oy6ZhLHjx6+LoQIDbFoQKdLABT7VYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439842},"main":"dist_ts/index.js","type":"module","gitHead":"843ac72f26bb6f4b9716f47e0ac5e6368868243d","private":false,"scripts":{"test":"(pnpm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34","devDependencies":{"@types/node":"^25.6.2","@git.zone/tsrun":"^2.0.3","@git.zone/tstest":"^3.6.5","@git.zone/tsbuild":"^4.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.2.8_1778330470376_0.8995078606527434","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@git.zone/tsdocker","version":"2.3.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"852a84a80b0b28db9281639129f9298418ba5a72","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.3.0.tgz","fileCount":60,"integrity":"sha512-im2hD3Fu7vSb6qM+WMg2tbvLbFfEpX8qVmjy491R5iELky4Pw9cqRMkwzmxW92etn8v+f53ODUQDOoc9DufX2A==","signatures":[{"sig":"MEYCIQDOcyGUBbR8KSin2CCGy2ak84rkeC4OdV5SqRmCTsOSOAIhAPIFb+ZTKKKTvliZBlRbk3f0F9MOQZv2U16agdKakW54","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440603},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdocker-2.3.0.tgz","private":false,"scripts":{"test":"(pnpm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/efb800362bdf067a21df837bfe835181/git.zone-tsdocker-2.3.0.tgz","_integrity":"sha512-im2hD3Fu7vSb6qM+WMg2tbvLbFfEpX8qVmjy491R5iELky4Pw9cqRMkwzmxW92etn8v+f53ODUQDOoc9DufX2A==","repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.2","@git.zone/tsrun":"^2.0.3","@git.zone/tstest":"^3.6.5","@git.zone/tsbuild":"^4.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.3.0_1778667668098_0.5210758920016527","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@git.zone/tsdocker","version":"2.4.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"59529e8e613c029950b5c3196bc1aa89021b7c23","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.4.0.tgz","fileCount":60,"integrity":"sha512-GFE93RxFm8HDrSm5Ulggy4se7heb4GaNQgaWV6Mds6lhkm6GouO91xZYlmXVH9glzBoFJNG63pFXYHW6nrqf5A==","signatures":[{"sig":"MEYCIQDumsUz4mY2offP5xssQVg/kGPc5tGQGdjo3WUtxpLx3AIhAPtpxPohtEBQMVWHKVObcB4f1ncbWnxVjOSS4ZaS2KOX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462596},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdocker-2.4.0.tgz","private":false,"scripts":{"test":"(pnpm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/4e10cb9760dbd5d1c1b4519955f564f4/git.zone-tsdocker-2.4.0.tgz","_integrity":"sha512-GFE93RxFm8HDrSm5Ulggy4se7heb4GaNQgaWV6Mds6lhkm6GouO91xZYlmXVH9glzBoFJNG63pFXYHW6nrqf5A==","repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.2","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.4.0_1779455273471_0.9973101332048038","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@git.zone/tsdocker","version":"2.4.1","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.4.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"de5c5c9a155dd804f41f9bcc14447f6de6005d17","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.4.1.tgz","fileCount":60,"integrity":"sha512-T7c0yf8eUNsT+ZYACv43FZqTY5OvhR+quSrc6+zgvAyzRIN4rG4t5lO0tyXkiakKp9QnIkjnLSPqWqeoP68jzQ==","signatures":[{"sig":"MEUCIQDQ82udZtILkiPH3EtMlcc/pwUoz/mn0wa8ZxS5lHJQzAIgHsqBYdoIwYm/uBAkXfL91hY1mhjMLsBzjV4wKE9X2P8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490804},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdocker-2.4.1.tgz","private":false,"scripts":{"test":"(pnpm run build)","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/cffb3ecb052f67c3884c198fe6dfe6c1/git.zone-tsdocker-2.4.1.tgz","_integrity":"sha512-T7c0yf8eUNsT+ZYACv43FZqTY5OvhR+quSrc6+zgvAyzRIN4rG4t5lO0tyXkiakKp9QnIkjnLSPqWqeoP68jzQ==","repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.2","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.4.1_1780407565025_0.08666534708069862","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"@git.zone/tsdocker","version":"2.4.2","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.4.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"46a262da8292a94e1b08f7acc3a6ca933d77dfe1","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.4.2.tgz","fileCount":60,"integrity":"sha512-cLG/o1TL7P62td/MUiJgnKYm0HjOFuPzh1YvVo8PwC+754QuW/bFGFnWQvbmoulzfkpzVoP2wwQwk4ECe+XBlQ==","signatures":[{"sig":"MEUCIBHsze+oY8jKm236vYTBC+qC8nYtwh0NK000Sdxj38LEAiEAoG+W/I591ZSZ4ejGM/rGXOrfHWnldaHn2ZzAzqNnhyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491300},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdocker-2.4.2.tgz","private":false,"scripts":{"test":"(pnpm run build) && tstest test.registrycopy.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/8c2e9132e621b08fd17d8a65480e9e61/git.zone-tsdocker-2.4.2.tgz","_integrity":"sha512-cLG/o1TL7P62td/MUiJgnKYm0HjOFuPzh1YvVo8PwC+754QuW/bFGFnWQvbmoulzfkpzVoP2wwQwk4ECe+XBlQ==","repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.9.1","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.4.2_1780413908451_0.6127531462008766","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"@git.zone/tsdocker","version":"2.4.3","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.4.3","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"b38ad4391a549177bc3b74fc7282737b1ba84105","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.4.3.tgz","fileCount":60,"integrity":"sha512-ufLp7lyMj4tCpERd/xIE+z9II6o7qp+T7OZUexbLkIB8ZHzBGj/+zB9r2hFfMiUXcznd1vwAF3VNwADYwWut3Q==","signatures":[{"sig":"MEQCIEFrGA9SThqwP1EmmbBwVIP+313/JWTOV4p8c4eGPXtZAiB4PGRAmXyiSuZF+loT5Yi0vfcmzoA7OxV3Njyc2VNYVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493304},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdocker-2.4.3.tgz","private":false,"scripts":{"test":"(pnpm run build) && tstest test.registrycopy.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/59d1fe9f7af7b88aecff244cd13baeeb/git.zone-tsdocker-2.4.3.tgz","_integrity":"sha512-ufLp7lyMj4tCpERd/xIE+z9II6o7qp+T7OZUexbLkIB8ZHzBGj/+zB9r2hFfMiUXcznd1vwAF3VNwADYwWut3Q==","repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.9.1","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.4.3_1780633223808_0.5369650605735481","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@git.zone/tsdocker","version":"2.5.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdocker@2.5.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"cli.js"},"dist":{"shasum":"1ee14a4b14eb01d9a075bf7ae1fcb748afd604af","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.5.0.tgz","fileCount":63,"integrity":"sha512-TQ4MOomdCAa4lTF8bMPA9vhtsSfpRI+zw9HlcvZHYXYVcXjiDz7yVt8lNJEtlANzf+AVYht6vXCd7TzlaGjWNA==","signatures":[{"sig":"MEUCIQDj9C0auSa4mYA+Cz1R5bcib8lxqTiij1JTJvIsJK3llgIgHuUYHK31Z9dybmwUefOSDhdrEMgbRoqwQU93zlIu71E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545816},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdocker-2.5.0.tgz","private":false,"scripts":{"test":"(pnpm run build) && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/69c6c673a1e763da417493f256e0daa4/git.zone-tsdocker-2.5.0.tgz","_integrity":"sha512-TQ4MOomdCAa4lTF8bMPA9vhtsSfpRI+zw9HlcvZHYXYVcXjiDz7yVt8lNJEtlANzf+AVYht6vXCd7TzlaGjWNA==","repository":{"url":"git+https://gitlab.com/gitzone/tsdocker.git","type":"git"},"_npmVersion":"11.7.0","description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.5.1","@push.rocks/smartcli":"^4.0.21","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.1.1","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.9.3","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.5.0_1782160487126_0.517415661839163","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@git.zone/tsdocker","version":"2.6.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@2.6.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"265cbe150133917281e684e160925eb2cdb131c5","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.6.0.tgz","fileCount":69,"integrity":"sha512-6TzkHj/NMMNGTjn3gKcgNtPTYLGNq4BdHB7jEzT/hmIjv0UzKVYI7o0v+HpSuK/JE0d17W6tlnd8tnMWXS2e3w==","signatures":[{"sig":"MEUCIAPe/UtzyTVHMKOPm7ugsKsQgZ3dV73FgJLuhndsN/HvAiEA4Ipu+Ms77P6fZT0B0jVv6DXKB/QC3d3OGNXwjdPBVNs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":594297},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"https://gitlab.com/gitzone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.16","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.0","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.6.0_1783776390274_0.5192290908854031","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@git.zone/tsdocker","version":"2.7.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@2.7.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"5cab5edfa3ff1e9daddc3c0355ee5868ddc16fa4","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-2.7.0.tgz","fileCount":75,"integrity":"sha512-SunFfWF8wrkX1BJIrzkoyQa0wBH+E38mlHLJp9Gjlezjab1q9LuWnivMahfD0Gf3rGQyrISjKf4F/+nr9oge2Q==","signatures":[{"sig":"MEYCIQDcjTQVxxrHFRMn80XaQb5RXd73aJGGuay5j93BkrL5fwIhAPtufwlbWggBCV3wfel2AabAI9gVZrzrWAStZSSCkmXV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":676408},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.imageprovenance.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"https://gitlab.com/gitzone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.0","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_2.7.0_1783931914419_0.17919030939342395","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@git.zone/tsdocker","version":"3.0.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://gitlab.com/gitzone/tsdocker#readme","bugs":{"url":"https://gitlab.com/gitzone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"dc45a274784f97996270c838febe58551d131034","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.0.0.tgz","fileCount":78,"integrity":"sha512-Gly5sFk9oex4RcV2gyyeweIzdF2TaHtQyFNuqj1HyVoXUuU+ShMPdynG/49WkoT5N5ZZb8O/GkSa6SF6dO3gSA==","signatures":[{"sig":"MEYCIQCRq6WkwJ+cbPqEtAEOSrZcVTRDgdt6DDRFx/8OyfB6dgIhAPhtiilCvr0gfAgoGQR99GIX7fSOmz4X4l0JQTLak1Vz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":738209},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"https://gitlab.com/gitzone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.0","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.0.0_1784207047813_0.4658561957413867","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@git.zone/tsdocker","version":"3.1.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.1.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"d0376f712159ff2dcb53d1f7b09d7cd4af8a51fd","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.1.0.tgz","fileCount":78,"integrity":"sha512-uxRjuzIgFczhUI+zfW4bwm3CbIgQIDwABQCtrqvfhg0QycLjS1IOUEDPo+L/q16K2/jlDNfHuZDKcnF2/Fk5Fw==","signatures":[{"sig":"MEUCIQDHoYpR+aKqLiWUA4YKy4IXfQRZfDVnWzgxfuqYwhObaQIgOaz15U69TQJ6e+MD79TITlfddHVFd02Weo2DL30glw8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":746933},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.0","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.1.0_1784810644842_0.9947694045676667","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@git.zone/tsdocker","version":"3.1.1","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.1.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"98306454c34ec51399f29d91d6bbfec35885875b","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.1.1.tgz","fileCount":81,"integrity":"sha512-xEwtkfUgbSi+ZzySqfxJ5w3X1i6xPB5M+oVLEUp3PJ/GLy4zItCRHbL7iyaydjFNz8S39ILtqk7wcO2qq+CSBA==","signatures":[{"sig":"MEUCIQC6OOE5DYhMZWY85rMSW/ZfZ8hQCRoW6z2+lP4L/3JJewIgH9kRcrBRmuEJ5/WnWJPBHO42AuodFon5iASw2uld0cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":748198},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.0","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.1.1_1785260664781_0.7415544460079746","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@git.zone/tsdocker","version":"3.1.2","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.1.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"b452865ed683e1c1b4055015b13a0cb6f8b8eb31","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.1.2.tgz","fileCount":81,"integrity":"sha512-ltsTkwPQkXyuDSqmGrEz4vB/Yj636SPhQXQ5x3g93kqrUnSWdXyMWCXV5kD+FCnrM3VilmCVsCkAfsbgqpG/0Q==","signatures":[{"sig":"MEUCIQCBhagRqvkIOoYRR65ivQsNt2Q32E8gslDY2IAvM0K37QIgASr/IdaBn2/k4+4siku/gB85qyL5PsRV2g+8UwYMxIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777711},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.1.2_1785496455676_0.5734546286813638","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@git.zone/tsdocker","version":"3.2.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.2.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"d0fb99866e1d137ec20720e64131c5b6e2b76ac7","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.2.0.tgz","fileCount":81,"integrity":"sha512-QuCq2XGmSJxr50MOGIZ/0RO0rjoqfIS2lLJMwucftjfNRz2iTpOfRwlPkKv0SD/9p8c1kdeGdCFSJtcKmYFcgQ==","signatures":[{"sig":"MEQCIFOO03fs5TTfLwwFvH9wZCii4TdoTFk553IEElHVdOuIAiANaZWt0/vuVQUjX2L/JE2OglaO59ZPsaTK+A3pnD6T6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":800520},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.2","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.2.0_1785499643004_0.8551414124723147","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@git.zone/tsdocker","version":"3.3.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"47d98561e102de386858d37a3fbef9ee032851d7","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.3.0.tgz","fileCount":81,"integrity":"sha512-FWtyqK6tN5PyhQjbK29MuFvO+71s7yW+BU7JrVprg23nAMK8YFbKwNzb1yAX2rtInaDQ4105h8tRcKeKpuErSA==","signatures":[{"sig":"MEUCIQD7qdSYPPplv2Z6ZFrbyBO7GgHgeZMIIqU88TMByFuZ1QIgPrbB5tYOXndn7InOTCrrAyM83Pl/GjJ6mrL9K66aIc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":804336},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.2","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.3.0_1785709174969_0.12460079484800479","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@git.zone/tsdocker","version":"3.4.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"70516c71bed60986cc1aafa2b333d9a1136d2384","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.4.0.tgz","fileCount":81,"integrity":"sha512-SZN0K1jVbThdMtnaVVM+zg0pZXXzTUSvZTOw10JczbYFtk3pLxDNjw774pBuBqoUaJb92mzqqBnv0pN/H+mxNQ==","signatures":[{"sig":"MEQCIAZc8Qh7nzTrZtA+jdljh62GRzffZpOJC0EHMcdd0RiaAiA8g+Q2lbKNvIK9JdG83k2p4IfzlfwUlWIu9+7XfmmnhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806575},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.2","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.4.0_1785710941583_0.7735805631835893","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"@git.zone/tsdocker","version":"3.4.1","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.4.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"8e5a8a785553f2b46966300c6ad88e9ceb8db4cf","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.4.1.tgz","fileCount":81,"integrity":"sha512-u8OtpatXevRzEhDgvOtgAKueLd0d/bo5JzrnIcmMLjY2AAGLshquTVYAFDyiqEE0k0Mx4s5pwArVBAa/ESjnxQ==","signatures":[{"sig":"MEQCIDsRfe2LaHitDTU8R1ISwDriWReE4Gne3hKlPrWIWJKGAiBoa/Hb0dSM5ymouR7C8eoWyBLibehnYvZnYJWF9LiAPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806339},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"3.3.8","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.1.2","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.4.1_1785712277562_0.7353826690901804","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"@git.zone/tsdocker","version":"3.4.2","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.4.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"d281d6e41e37e7fb2f70be6ef64639b470b29344","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.4.2.tgz","fileCount":87,"integrity":"sha512-JqfnCP4bDo7YeEsjXRHkxQXC5LlByLnt2mpfmnyJWo40FoSDuNQyPYR6naqyAE8Dm2B8b0apjSfrsfBGqi/8hw==","signatures":[{"sig":"MEYCIQDOJcsEVN8Xm+Sv6cAKFM7bs2ACQynphhPZAimUvsKv4wIhAJ1r1qRbp5qp3TeCdGBc3ZTLwcODA996gsh8XNDSUNUH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1322036},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.4.2_1787099749618_0.47655905828226763","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@git.zone/tsdocker","version":"3.5.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"b6a5e1e139d3d1a2e3612d7327d5ccd7bb623c5b","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.0.tgz","fileCount":90,"integrity":"sha512-mcq25a2ZBGNseI2Ib1Y+lNkkot3SP5onJSUyoxBiZw71s1P7OATWWalmBxhto2VNTOHDXe6VEDDlpD5snyxaYw==","signatures":[{"sig":"MEQCIAXSVdOYvrisoRT3iHg4DfXcu12zuMC9WrMtNb8Qr9rYAiBlr2cpfmXtW6wFur6xcbj+JgHFUq0QdE43U+2esfy7bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1740742},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.0_1788090387946_0.4627244625126139","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"@git.zone/tsdocker","version":"3.5.1","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"6817f48425cfd4c0a9d7b6b081ec55c7f1b7c81a","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.1.tgz","fileCount":96,"integrity":"sha512-hH8N6uEPcaYcH/+Oq4c6J/HRewynh7g5PrsnteyItjxaIyCKSa8hvXz83Dzs2pRK2FZEg6f5ZchS20SgMVVrlQ==","signatures":[{"sig":"MEUCIAKG+gQgHzCuAEJmh47ypBeyUFsTFh7PjMk54CO0rB/nAiEAvFFcH8SVXYnLncoVrEtJUhovPtq5XXjgwSFUAPb0Yk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1823441},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.1_1788102581085_0.5808378967543493","host":"s3://npm-registry-packages-npm-production"}},"3.5.2":{"name":"@git.zone/tsdocker","version":"3.5.2","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"acc2ec8c448e17ef50ab936fe0b76ed460df724d","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.2.tgz","fileCount":96,"integrity":"sha512-PRIfJuSmbj/FvyJj0Ui7mb+K+J/fCYVxj3xo5dv0KP8BUA75el8yJpGERU1X8B9DxZ5oMegsOy5J5YewDkrGWg==","signatures":[{"sig":"MEQCIC7+zs98Ly3YVOXJDPyhUgySd/xJxC0gKYbP+t85ZKRoAiAecujMybbaE5rIxertnttKN0Xd/WbxUV+viXKV6CdRyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1834852},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.2.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.2_1788123242704_0.6014963961283419","host":"s3://npm-registry-packages-npm-production"}},"3.5.3":{"name":"@git.zone/tsdocker","version":"3.5.3","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.3","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"0a867d78ce3324fce65c89d54f9eb55883e1bca6","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.3.tgz","fileCount":96,"integrity":"sha512-3aiYEyFswIBUOLxq1sP0iYPNn92Zr4MMUHGaBVyUT0mQZQKk1gk6o3FnH5U6bDSBogHFBqnmCfE/14S3sfDfng==","signatures":[{"sig":"MEQCIDUBbqNwSwYgS/F0tnKnlcCSDHMKyZ3Z9xT8FPQnm5rFAiAc3akIxk/7FQ1/O4NO1c4ErVUVauPXVmrX8JnmVulAjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1839653},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.4.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.3_1788462054074_0.4598069416350874","host":"s3://npm-registry-packages-npm-production"}},"3.5.4":{"name":"@git.zone/tsdocker","version":"3.5.4","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.4","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"1593fa6e5c9a9ec2b722399e095798a19636b900","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.4.tgz","fileCount":96,"integrity":"sha512-r9yzBY8pX8SuxCZnWtaQEWM5dp6rw2Z43dqWM/Ez3coDDtFKLSX5dARycHt/PmWzOtTT+qyhH0YVR53MNofA3Q==","signatures":[{"sig":"MEUCIQCIOD3CeTdzeCtLOMeiPL4rM9Z5Ojj4JfosfxLOSHWWyQIgaK21QZ1PZ5CjQ7bq+YebDnBJ3KgxX3hWJAlQCRnR/Dw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1841343},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.4.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.4_1788565075939_0.16965300341952583","host":"s3://npm-registry-packages-npm-production"}},"3.5.5":{"name":"@git.zone/tsdocker","version":"3.5.5","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.5","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"b33ec57332596f4d99e9aa19f31adcd8508772fb","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.5.tgz","fileCount":96,"integrity":"sha512-YQGbwqG66NgUZRr9FdBpLnqnglnwHpy0D/ClBqFr/MLUyHo2A0ONye/V2KnfivCHPtmx5/x8+peCSEh2J8Dw8w==","signatures":[{"sig":"MEQCIEyozmRDsz4GWcb5ug8PEd07d79dlYgxoSdf7af4Ub4UAiA5pO46t82J2mntPiZDgjxTQAQbXISv+azDxvRfkcfuZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1843156},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.4.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.5_1788812252451_0.308039470559587","host":"s3://npm-registry-packages-npm-production"}},"3.5.6":{"name":"@git.zone/tsdocker","version":"3.5.6","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.6","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"aafe90dda7df57aee7a7abfb57a11f738587e081","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.6.tgz","fileCount":96,"integrity":"sha512-akw8DTAT+VQuJXdTVhvKwpPQKzSVHWO0Bdn7rBRl1lS1MhLoTREg6mWXzxzVoEJhRz0kHM+n6V9QZANB9KHlBA==","signatures":[{"sig":"MEUCIFqsN38pnVNR/sVtiAkVUdNm8T2Iuc4SgTpUYDea684aAiEA679Q22OHCwXRMW+h1+lvD4usPWE8yinNzvZDD5cZbVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1844129},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.4.0","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^4.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.6_1788844968638_0.5533725992179872","host":"s3://npm-registry-packages-npm-production"}},"3.5.8":{"name":"@git.zone/tsdocker","version":"3.5.8","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.8","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"9c062e170b9f7bd1bc8236810643ebe6da260f2d","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.8.tgz","fileCount":95,"integrity":"sha512-YlYcCSLE+2BDTl9/8mgWDtBbCP2vBuBh6lVSoTaxo0I0XM/WSECczvsWgzn445kBMjAgELDFg5obRwew7hATDQ==","signatures":[{"sig":"MEQCIGP8gXcYxnoKlPXSOEU5CGCzl95aJTCPzw0c+iP165AOAiAXv+hc/BupCw/sadU0Cyq2MwzZ10SbjwCxMrnIMhbtgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1831556},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.4.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.0.0","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.8_1789082869551_0.7449396094353362","host":"s3://npm-registry-packages-npm-production"}},"3.5.9":{"name":"@git.zone/tsdocker","version":"3.5.9","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.5.9","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"a84e9050ff196b7960a1b4160d8f76f9b9e7879a","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.5.9.tgz","fileCount":95,"integrity":"sha512-mPYDKd02W+dbGcqcDZw2UFNz00AewsviIL/jPivOeI20tk5eoKRSuW3Tg5JxQlfI9PWmYRpRlS1DGdJxT7Ncsw==","signatures":[{"sig":"MEYCIQDjHX4YOX9x+Ekn9VwhvMRtfkth3n7LpnJFFXEYqOwWlAIhAPUA0ixLwaVqwDqeNmgyT8GKqmCm/zX5CmO7at3zwqEn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA9d4cW69qtkDQWgwjPpAUIEILja4yE/rOOVi5lknQbLAiEA7aRbcj8RySIT96EFevHXxVgDHO1HH0HaR66Z9aYHdcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1831704},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.protocolstreams.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.5.9_1789732458350_0.4726121612747254","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@git.zone/tsdocker","version":"3.6.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.6.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"4718284033fca3d45837bf8cc871b9d364ae3e80","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.6.0.tgz","fileCount":104,"integrity":"sha512-NFhrtbuGwfExxlPaN3eLF8nReBB6uAXerQTBK46rRX/h/Z7mwfAyJBvWS9T7COJ71yOjubCFAqTCu/fGHvlTVg==","signatures":[{"sig":"MEQCIFubu2EVlGm2pqW5RfbT4HzL8E1PvNRnT+Tmy7ottrtWAiBu34oa9EodZaNfshxqBIhGrdtJyyv55du5EUxVLB/Zww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHbdyBr72eMfxfksjukL7gqGuGM/cNVp0nOw0J/QEBtPAiEA2r0JlpSiK1UEbKcMX5tVPMp57J+7uWqn5JNgrkdqJUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1968048},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.hostbuildlease.node.ts --verbose && tstest test.deferredbuildxprune.node.ts --verbose && tstest test.builderrorsurface.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.protocolstreams.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.6.0_1789801235689_0.8987885878616184","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@git.zone/tsdocker","version":"3.7.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.7.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"debe2b2eeb08ba206db39accc71e637f6610e9a6","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.7.0.tgz","fileCount":107,"integrity":"sha512-+XTNg64PGuQAbYdFY2i1pRU0aTDdGvZvdNNBptsIecZyM6M3Cs2A0YbYDtDsHl6gt9mOSwutcrfR8q9j0Ci10w==","signatures":[{"sig":"MEYCIQDYUfp/ZKYv87XjG3zP06SuA4XFtfX3Sid6lV7XEgwLOAIhAOGGm4agB/Baxwe1mc33BQftdeTkP2lG7ijBGPKay+x5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCeC2gd14lnnYTjjON6wAmxoQ1WM+Q17K7x/XeNSGKmzQIgd+o117JfkscUeDdogDj1vyvyHBuSss9ZG0tBC01J0mw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1996286},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.hostbuildlease.node.ts --verbose && tstest test.deferredbuildxprune.node.ts --verbose && tstest test.builderrorsurface.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.protocolstreams.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.7.0_1789907060861_0.5634077401819912","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@git.zone/tsdocker","version":"3.8.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.8.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"b04d5a2fc79cd8d93b3b49fc1dccf139a93fb9e0","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.8.0.tgz","fileCount":110,"integrity":"sha512-D6vhSz752y5ad2uCkzEV3Qe1R2591M/jUPsDVY4596EAuX+Dz9h6LBeYCGxtZGAerwKLmTBNcxqNhGzB+/PU/A==","signatures":[{"sig":"MEYCIQD6G524ClXbyFFV+HGMZInR0C02t6sv/BtCDOgQFhx5HAIhALk4gIKpm/j7eCTGMVULtj1oo8UQsWTgghroku6gw55S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEuoZm3Ud9/I87lGIivyNtiPLXUoFoRvCPhWtOe3+HmbAiAkcRdiSQfPIEM8mjIxpwikSbQKE6MLuxfkxFTVwF4sNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2056693},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.additionaltags.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.hostbuildlease.node.ts --verbose && tstest test.deferredbuildxprune.node.ts --verbose && tstest test.builderrorsurface.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.protocolstreams.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.0","@push.rocks/smartlog":"^3.2.2","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.0","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.8.0_1790076464585_0.03894818642482667","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"@git.zone/tsdocker","version":"3.8.1","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.8.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"09fff26f22578220c80ebe91b2395d0fc9b0eaeb","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.8.1.tgz","fileCount":110,"integrity":"sha512-hXnaq95qISBGJI/DGg5Hzar5OWueA4KuBfk7DEpKTh+hDH6lFmtSnNb3LIiav0tFPTHeftHzDsLHmktRXR1kjw==","signatures":[{"sig":"MEYCIQCmzpGveIgcYbdIub7bYt7s+NFudm3+tlMxUojEZpgq+wIhAJkGgKIPbcMjOI7ixTVVnDSa2GC0KHVRLOibHdlGsyPo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID+PG21PqebNqHrDSMM578JrIigwahihnxOePHmkgs/6AiBj0ExSLX8PeKh37m5c/KxsZaTzDbzpkPn8o3yeg0eDOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2056709},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.additionaltags.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.hostbuildlease.node.ts --verbose && tstest test.deferredbuildxprune.node.ts --verbose && tstest test.builderrorsurface.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.protocolstreams.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.1","@push.rocks/smartlog":"^3.2.1 || ^4.0.0","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.4","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.8.1_1790101769958_0.36105260910330594","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@git.zone/tsdocker","version":"3.9.0","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdocker@3.9.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdocker#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"bin":{"tsdocker":"./cli.js"},"dist":{"shasum":"50e6aa16af477f58b5b440cb6829dd3396d45deb","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.9.0.tgz","fileCount":110,"integrity":"sha512-BTOFiWAUJqmAxfxCge6RcQIKsrTmeo+fv+5Jk8abgcoyZfxkAaDiKCBWEiqxnNEOXCRb3dkpagVCal1EUMrFwA==","signatures":[{"sig":"MEUCIC8EBoqS/+kA/IUxsNOc89f5LHfhff9UNC8KpVaPEQ+9AiEA6fKl2/K4Kzo8by/U9x2mQG8Xkr0IyRwPRdTFuE7mbL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDw+gOw8Jm9AN2tmYFbcoMzOUuZ1lQ3k9nDlATgfdlkVwIhAPHQCh7dE4WUNC2gt4FAUkjIbOQYj6o5nBqzvOEmlFUE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2078413},"main":"dist_ts/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"private":false,"scripts":{"test":"(pnpm run build) && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.additionaltags.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.hostbuildlease.node.ts --verbose && tstest test.deferredbuildxprune.node.ts --verbose && tstest test.builderrorsurface.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.pushdestination.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.protocolstreams.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"dependencies":{"@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartcli":"^4.3.1","@push.rocks/smartlog":"^3.2.1 || ^4.0.0","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.4","@push.rocks/smartinteract":"^2.0.17","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.6.2","@git.zone/tsrun":"^3.0.1","@git.zone/tstest":"^6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdocker_3.9.0_1790606894774_0.4188433685091193","host":"s3://npm-registry-packages-npm-production"}},"3.9.1":{"_id":"@git.zone/tsdocker@3.9.1","bin":{"tsdocker":"./cli.js"},"bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"dist":{"shasum":"1463ac92c2a6efde428d8e8b63277877b1c5aeb6","tarball":"https://registry.npmjs.org/@git.zone/tsdocker/-/tsdocker-3.9.1.tgz","fileCount":110,"integrity":"sha512-luPvbp7zZVyleOgv23bt2TiibTc1ceU7Fplu+xzOlwe/+x5UJARckktQXehlDMIiOJ9olUs0UV1AsgE5j0uSVQ==","signatures":[{"sig":"MEYCIQD0u9x//AMHWUk6mj+lnbtr5RYctJ27tn2psvlJdBgiKAIhAOi2qoitnl5s+vM1NyrFbbf0qowq5ySkeuJsg+LgDJJF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCEITXN4I2H+V3H3PzjfvfyHcMbH6qgTdFA+9GyBTJ43AIgHvEHHrYIEwjDOudJRqJwpLzYkDf2s9aNcx9esAe0QkE="}],"unpackedSize":2082486},"main":"dist_ts/index.js","name":"@git.zone/tsdocker","type":"module","author":"Task Venture Capital GmbH","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"license":"MIT","private":false,"scripts":{"test":"(pnpm run build) && tstest test.cli.node.ts --verbose && tstest test.globalconfig.node.ts --verbose && tstest test.packagepaths.node.ts --verbose && tstest test.manifestdigest.node.ts --verbose && tstest test.releaseprotocol.node.ts --verbose && tstest test.releasequalification.node.ts --verbose && tstest test.additionaltags.node.ts --verbose && tstest test.processidentity.node.ts --verbose && tstest test.hostbuildlease.node.ts --verbose && tstest test.deferredbuildxprune.node.ts --verbose && tstest test.builderrorsurface.node.ts --verbose && tstest test.executiontimeouts.node.ts --verbose && tstest test.tsdockermanager.integrity.node.ts --verbose && tstest test.registrylifecycle.node.ts --verbose && tstest test.imageprovenance.node.ts --verbose && tstest test.buildsecrets.node.ts --verbose && tstest test.buildregistries.node.ts --verbose && tstest test.pushworkflow.node.ts --verbose && tstest test.pushdestination.node.ts --verbose && tstest test.releasepromotion.node.ts --verbose && tstest test.dockerfiletestrunner.node.ts --verbose && tstest test.protocolstreams.node.ts --verbose && tstest test.tsdockercache.node.ts --verbose && tstest test.architectures.node.ts --verbose && tstest test.sshtunnel.node.ts --verbose && tstest test.registrysecurity.node.ts --verbose && tstest test.ocigraph.node.ts --verbose && tstest test.registrycopy.node.ts --verbose && tstest test_prune/test.prune.node.ts --verbose","build":"(tsbuild)","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","version":"3.9.1","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"homepage":"https://code.foss.global/git.zone/tsdocker#readme","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","directories":{},"maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"dependencies":{"inquirer":"^12.11.1","@push.rocks/lik":"^6.4.1","@push.rocks/smartfs":"^1.6.0","@push.rocks/smartlog":"^3.2.1 || ^4.0.0","@push.rocks/smartshell":"^4.1.2","@push.rocks/projectinfo":"^5.1.0","@push.rocks/smartconfig":"^6.2.4","@push.rocks/smartconsole":"^2.0.1","@push.rocks/smartlog-source-ora":"^1.0.9","@push.rocks/smartlog-destination-local":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^26.6.2","@git.zone/tsrun":"^3.0.2","@git.zone/tstest":"^6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsdocker_3.9.1_1790891075361_0.09642498429176838"}}},"time":{"created":"2025-12-13T09:44:54.778Z","modified":"2026-10-01T21:44:35.701Z","1.2.43":"2025-12-13T09:44:54.999Z","1.3.0":"2026-01-19T22:09:12.679Z","1.4.0":"2026-01-20T09:33:44.944Z","1.4.1":"2026-01-20T12:28:42.923Z","1.4.2":"2026-01-21T00:03:39.933Z","1.4.3":"2026-02-04T14:02:11.953Z","1.5.0":"2026-02-06T11:58:46.763Z","1.6.0":"2026-02-06T13:25:36.489Z","1.7.0":"2026-02-06T13:39:37.465Z","1.8.0":"2026-02-06T14:18:19.596Z","1.9.0":"2026-02-06T14:52:30.690Z","1.10.0":"2026-02-06T15:06:00.016Z","1.11.0":"2026-02-06T15:53:46.648Z","1.12.0":"2026-02-06T16:36:03.009Z","1.13.0":"2026-02-07T04:33:23.004Z","1.14.0":"2026-02-07T04:46:21.278Z","1.15.0":"2026-02-07T05:17:46.747Z","1.15.1":"2026-02-07T09:41:38.215Z","1.16.0":"2026-02-07T10:31:07.500Z","1.17.0":"2026-02-07T12:03:11.853Z","1.17.1":"2026-02-07T12:30:07.722Z","1.17.2":"2026-02-07T12:43:18.345Z","1.17.4":"2026-02-07T12:59:45.024Z","2.0.2":"2026-03-12T20:12:01.723Z","2.1.0":"2026-03-15T20:15:27.166Z","2.2.0":"2026-03-19T10:18:26.141Z","2.2.1":"2026-03-24T15:07:29.452Z","2.2.2":"2026-03-24T16:12:49.354Z","2.2.3":"2026-03-24T17:00:30.654Z","2.2.4":"2026-03-24T18:57:01.015Z","2.2.5":"2026-04-30T12:55:36.999Z","2.2.6":"2026-05-08T13:40:36.923Z","2.2.7":"2026-05-09T12:34:02.712Z","2.2.8":"2026-05-09T12:41:10.545Z","2.3.0":"2026-05-13T10:21:08.249Z","2.4.0":"2026-05-22T13:07:53.612Z","2.4.1":"2026-06-02T13:39:25.178Z","2.4.2":"2026-06-02T15:25:08.614Z","2.4.3":"2026-06-05T04:20:23.960Z","2.5.0":"2026-06-22T20:34:47.292Z","2.6.0":"2026-07-11T13:26:30.470Z","2.7.0":"2026-07-13T08:38:34.610Z","3.0.0":"2026-07-16T13:04:07.964Z","3.1.0":"2026-07-23T12:44:05.031Z","3.1.1":"2026-07-28T17:44:24.939Z","3.1.2":"2026-07-31T11:14:15.868Z","3.2.0":"2026-07-31T12:07:23.178Z","3.3.0":"2026-08-02T22:19:35.131Z","3.4.0":"2026-08-02T22:49:01.739Z","3.4.1":"2026-08-02T23:11:17.732Z","3.4.2":"2026-08-19T00:35:49.774Z","3.5.0":"2026-08-30T11:46:28.103Z","3.5.1":"2026-08-30T15:09:41.489Z","3.5.2":"2026-08-30T20:54:02.866Z","3.5.3":"2026-09-03T19:00:54.219Z","3.5.4":"2026-09-04T23:37:56.101Z","3.5.5":"2026-09-07T20:17:32.587Z","3.5.6":"2026-09-08T05:22:48.800Z","3.5.8":"2026-09-10T23:27:49.704Z","3.5.9":"2026-09-18T11:54:18.426Z","3.6.0":"2026-09-19T07:00:35.795Z","3.7.0":"2026-09-20T12:24:20.953Z","3.8.0":"2026-09-22T11:27:44.691Z","3.8.1":"2026-09-22T18:29:30.074Z","3.9.0":"2026-09-28T14:48:14.866Z","3.9.1":"2026-10-01T21:44:35.511Z"},"bugs":{"url":"https://code.foss.global/git.zone/tsdocker/issues"},"author":"Task Venture Capital GmbH","license":"MIT","homepage":"https://code.foss.global/git.zone/tsdocker#readme","keywords":["docker","typescript","buildx","multi-arch","multi-registry","oci","container","ci-cd","docker-build","cross-platform"],"repository":{"url":"git+https://code.foss.global/git.zone/tsdocker.git","type":"git"},"description":"A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"readme":"# @git.zone/tsdocker\n\n> 🐳 The ultimate Docker development toolkit for TypeScript projects — build, test, and ship multi-arch containerized applications with zero friction.\n\n## Issue Reporting and Security\n\nFor reporting bugs, issues, or security vulnerabilities, please visit [community.foss.global/](https://community.foss.global/). This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a [code.foss.global/](https://code.foss.global/) account to submit Pull Requests directly.\n\n## What is tsdocker?\n\n**tsdocker** is a comprehensive Docker development and build tool that handles everything from testing npm packages in clean environments to building and pushing multi-architecture Docker images across multiple registries — all from a single CLI.\n\n### 🎯 Key Capabilities\n\n- 🏗️ **Smart Docker Builds** — Automatically discover, sort, and build Dockerfiles by dependency\n- 🌍 **True Multi-Architecture** — Build for `amd64` and `arm64` simultaneously with Docker Buildx\n- 🚀 **Multi-Registry Push** — Ship to Docker Hub, GitLab, GitHub Container Registry, and more via OCI Distribution API\n- ⚡ **Parallel Builds** — Level-based parallel builds with configurable concurrency\n- 🗄️ **Persistent Local Registry** — All images flow through a local OCI registry with persistent storage\n- 📦 **Provenance-Aware Caching** — Skip only images whose content, source metadata, labels, and tag ownership still match\n- 🎯 **Dockerfile Filtering** — Build or push only specific Dockerfiles using glob patterns\n- 🔁 **Resilient Push** — Operation-specific retry and timeout bounds for OCI registry requests\n- 🏭 **CI-Safe Isolation** — Unique sessions per invocation prevent collisions in parallel CI pipelines\n- 🔎 **OCI Provenance** — Label images with package version, exact Git revision, and a credential-free source URL\n- 🧪 **Default-User Tests** — Run copied Bash test scripts as the image's configured user without committing derivative images\n- 🔧 **Zero Config Start** — Works out of the box, scales with your needs\n\n## Installation\n\n```bash\n# Global installation (recommended for CLI usage)\npnpm add --global @git.zone/tsdocker\n\n# Or project-local installation\npnpm add --save-dev @git.zone/tsdocker\n```\n\n## Quick Start\n\n### 🏗️ Build Docker Images\n\nGot `Dockerfile` files? Build them all with automatic dependency ordering:\n\n```bash\ntsdocker build\n```\n\ntsdocker will:\n\n1. 🔍 Discover all `Dockerfile*` files in your project\n2. 📊 Analyze `FROM` dependencies between them\n3. 🔄 Sort them topologically\n4. 🏗️ Build each image in the correct order\n5. 📦 Push every image to a persistent local registry (`.nogit/docker-registry/`)\n\n### 📤 Push to Registries\n\nShip your images to one or all configured registries:\n\n```bash\n# Push to all configured registries\ntsdocker push\n\n# Push to a specific registry\ntsdocker push --registry=registry.gitlab.com\n\n# Authenticate only registries used by private base images before building\ntsdocker push --registry=registry.gitlab.com \\\n  --build-registries=registry.gitlab.com \\\n  --test\n\n# Push a previously built, digest-bound candidate without rebuilding\nexport TSDOCKER_SESSION_ID=release-candidate-123\nEXPECTED_DIGEST=\"$(tsdocker digest Dockerfile_##version## --json | jq -r '.digests[0].digest')\"\ntsdocker push --no-build Dockerfile_##version## --expected-digest=\"$EXPECTED_DIGEST\"\n\n# Push that one image to a repository the caller states, instead of registryRepoMap\ntsdocker push --no-build Dockerfile_##version## --expected-digest=\"$EXPECTED_DIGEST\" \\\n  --registry=registry.example.com --repository=workloads/app-service-abcd\n```\n\n`--repository=<path>` names the exact destination repository for one push. It is\nmeant for a caller that receives the destination from an authority at run time,\nsuch as a deployment tool pushing to the repository a control plane reserved for\none service, where a static `registryRepoMap` entry per registry cannot name one\nrepository per deployment target. It replaces `registryRepoMap` and the default\nrepository for that call only, and it is refused before anything logs in, builds,\ntests or contacts a registry unless it is a canonical OCI repository, exactly one `--registry` destination is\nrequested and exactly one Dockerfile is selected. Configured `additionalTags` are\nannounced in that repository too.\n\nAn immutable registry can record a previously published exact manifest without\nrebuilding or moving its tag. This command is intended only for registries that\natomically reject attempts to change an existing tag to another digest:\n\n```bash\ntsdocker reannounce-immutable Dockerfile_##version## \\\n  --registry=registry.example.com \\\n  --expected-digest=sha256:<64-lowercase-hex>\n```\n\n`reannounce-immutable` reads and hashes the registry's raw manifest bytes,\nrequires the asserted digest, sends the same bytes and media type back to the\nsame tag, and verifies the tag again. It does not build, copy blobs, or create\ndeployment trust evidence; the destination registry remains the authority for\nauthorization, immutable-tag enforcement, and any server-side evidence.\n\nUnder the hood, `tsdocker push` uses the **OCI Distribution API** to copy images directly from the local registry to remote registries. This preserves multi-arch manifest lists end-to-end. General registry calls retry network and 5xx failures up to six attempts with exponential backoff and a five-minute timeout; ordinary 4xx responses are returned without retry. Chunk PATCH failures, including non-202 responses, instead reconcile upload status and can retry the remaining bytes up to six times. Authentication, metadata, upload-status, and other upload requests use lower operation-specific bounds.\n\n### 🎯 Build Only Specific Dockerfiles\n\nTarget specific Dockerfiles by name pattern — dependencies are resolved automatically:\n\n```bash\n# Build only the base image\ntsdocker build Dockerfile_base\n\n# Build anything matching a glob pattern\ntsdocker build Dockerfile_app*\n\n# Inspect exact source digests, then push specific images without rebuilding\nmapfile -t EXPECTED_DIGESTS < <(\n  tsdocker digest Dockerfile_api Dockerfile_web --json |\n    jq -r '.digests[] | \"\\(.cleanTag)=\\(.digest)\"'\n)\ntsdocker push --no-build Dockerfile_api Dockerfile_web \\\n  \"${EXPECTED_DIGESTS[@]/#/--expected-digest=}\"\n```\n\n## CLI Commands\n\n| Command                    | Description                                                  |\n| -------------------------- | ------------------------------------------------------------ |\n| `tsdocker`                 | Show usage / man page                                        |\n| `tsdocker build`           | Build all Dockerfiles with dependency ordering               |\n| `tsdocker push`            | Build + push images to configured registries                 |\n| `tsdocker pull <registry>` | Pull images from a specific registry                         |\n| `tsdocker reannounce-immutable` | Reannounce exact manifests to an immutable registry     |\n| `tsdocker test`            | Build + run container test scripts (`test_*.sh`)             |\n| `tsdocker digest`          | Inspect canonical local-registry top-level manifest digests  |\n| `tsdocker login`           | Authenticate with configured registries                      |\n| `tsdocker list`            | Display discovered Dockerfiles and their dependencies        |\n| `tsdocker config`          | Manage global tsdocker configuration (remote builders, etc.) |\n| `tsdocker clean`           | Interactively clean Docker environment                       |\n| `tsdocker prune`           | Report or remove tsdocker-owned registry cache resources     |\n\n### Build Flags\n\n| Flag                     | Description                                                                     |\n| ------------------------ | ------------------------------------------------------------------------------- |\n| `<patterns>`             | Positional Dockerfile name patterns (e.g. `Dockerfile_base`, `Dockerfile_app*`) |\n| `--platform=linux/arm64` | Override build platform for a single architecture                               |\n| `--only-archs=amd64,riscv64` | Strictly override the configured architecture list                       |\n| `--timeout=600`          | Timeout in seconds for each image build                                          |\n| `--no-cache`             | Force rebuild without Docker layer cache                                        |\n| `--cached`               | Skip unchanged Dockerfiles (content-hash based)                                 |\n| `--verbose`              | Stream raw `docker build` output                                                |\n| `--parallel`             | Enable level-based parallel builds (default concurrency: 4)                     |\n| `--parallel=8`           | Parallel builds with custom concurrency                                         |\n| `--context=mycontext`    | Use a specific Docker context                                                   |\n\n### Push Flags\n\n| Flag               | Description                                                         |\n| ------------------ | ------------------------------------------------------------------- |\n| `<patterns>`       | Positional Dockerfile name patterns to select which images to push  |\n| `--registry=<url>` | Push to a single specific registry instead of all configured        |\n| `--repository=<path>` | Exact destination repository on the `--registry` destination instead of `registryRepoMap`; one selected Dockerfile only |\n| `--build-registries=<csv>` | Authenticate only these configured registries before a build |\n| `--test`           | Run configured image tests before destination publication           |\n| `--no-build`       | Skip the build phase; requires exact expected source digest(s)      |\n| `--expected-digest=<value>` | Expected top-level source digest; repeat mappings for many images |\n| `--cached`         | Skip unchanged Dockerfiles during the build phase                   |\n\n`push --no-build` and `test --no-build` require `--expected-digest`, or the\n`TSDOCKER_EXPECTED_DIGEST` fallback. A single selected Dockerfile accepts a\nbare `sha256:<64 lowercase hex>` digest. Multiple Dockerfiles require one\nrepeated `cleanTag=sha256:...` flag per selected image. The environment fallback\naccepts comma- or newline-separated mappings. Missing, extra, unknown,\nduplicate, malformed, and mismatched expectations fail before tests or remote\nregistry mutation.\n\n`reannounce-immutable [patterns...]` accepts zero or more Dockerfile patterns;\nomitting patterns selects every discovered Dockerfile. It requires exactly one\n`--registry` destination and the same complete digest mapping. `--repository=<path>`\nnames the destination repository exactly as it does for `push`, with the same\nsingle-Dockerfile rule. Do not use it\nwith a mutable registry: safe concurrent operation depends on the destination atomically refusing an\nexisting tag whose digest differs from the submitted manifest. It reannounces\nexactly the references that mapping names, which is each image's own tag;\nconfigured `additionalTags` are not reannounced and the run warns that they are\nnot.\n\nBy default, a build-enabled push authenticates every configured registry so\nprivate base images remain available even when their registry differs from the\ndestination. Set `--build-registries` to a unique comma-separated list of\nconfigured registry hosts to bound that pre-build authentication. The option\ndoes not add destinations and does not change which registries receive images.\nWith `--test`, every selected image test must pass before the first destination\nregistry is mutated. A test failure aborts the push.\n\n### Digest Inspection\n\n```bash\n# Human-readable mappings that can be passed back as --expected-digest values\ntsdocker digest Dockerfile_api Dockerfile_web\n\n# Clean JSON stdout for CI tooling\ntsdocker digest Dockerfile_api Dockerfile_web --json\n```\n\nDigest inspection reads the persisted canonical local registry without\nrebuilding. JSON output has the shape\n`{\"sessionId\":\"...\",\"digests\":[{\"cleanTag\":\"app:v1\",\"digest\":\"sha256:...\"}]}`.\n\n## Release Publication Protocol v1\n\nThe `release-*` commands provide a machine-only interface for a release\norchestrator. They separate qualification from publication: qualification\nbuilds and tests an immutable candidate, while promotion later copies only the\njournaled digest graph and conditionally advances one destination alias.\n\n| Command | Request | Remote mutation |\n| --- | --- | --- |\n| `tsdocker release-capabilities` | No arguments | None |\n| `tsdocker release-validate --request-file=<absolute-path>` | Qualification request | None |\n| `tsdocker release-qualify --request-file=<absolute-path> [--classified-errors]` | Qualification request | Read-only destination probes |\n| `tsdocker release-probe --request-file=<absolute-path>` | Candidate and promotion ID | Read-only destination probes |\n| `tsdocker release-promote --request-file=<absolute-path>` | Candidate and promotion ID | Digest publication, then at most one alias PUT |\n| `tsdocker release-cleanup --request-file=<absolute-path>` | Candidate ID | Exact candidate-owned local storage only |\n\nThese commands are not interactive. Standard output is exactly one canonical\nJSON document followed by LF and is limited to 1 MiB. A successful response\nuses exit code `0`; a failure uses exit code `1` and a stable\n`tsdocker-release-error-result` with an error code and credential-free message.\nThe first `SIGINT` or `SIGTERM` requests termination, waits for owned manager\ncleanup, emits the canonical result, and exits `130` or `143` respectively. A\nsecond termination signal may stop the process immediately without JSON output.\nHuman logging is muted, standard error stays empty, and image-test\nstdout/stderr is captured without being mirrored into the protocol streams, so\na caller may reject any byte outside the single canonical document. Test\nfailures still fail qualification and retain bounded failure details. Ordinary\n`tsdocker test` continues streaming test output. Registry credentials are\nresolved from the existing\ncredential environment or Docker configuration and must never appear in a\nrequest or command argument. Build failure details carried in that message are\nredacted before they are reported; see\n[Concurrent Releases on One Host](#-concurrent-releases-on-one-host).\n\n### Canonical Requests\n\nEvery request file must be an absolute canonical path to a caller-owned regular\nfile with no group or other permissions. Symlinks are rejected, the file is\nopened without following links, and its maximum size is 64 KiB. JSON must use\nrecursively lexicographically sorted object keys, JSON's compact scalar and\narray encoding, no insignificant whitespace, and exactly one trailing LF.\nUnknown or missing keys are rejected.\n\nA canonical qualification request has this exact shape:\n\n```json\n{\"candidateId\":\"<64 lowercase hex>\",\"kind\":\"tsdocker-release-qualification-request\",\"options\":{\"buildRegistries\":[],\"cached\":false,\"context\":null,\"parallel\":false,\"patterns\":[\"Dockerfile_##version##\"],\"registry\":null,\"test\":true},\"projectId\":\"<64 lowercase hex>\",\"protocolVersion\":1,\"release\":{\"revision\":\"<40 or 64 lowercase hex Git object ID>\",\"version\":\"1.2.3\"},\"schemaVersion\":1}\n```\n\n`patterns` selects Dockerfiles, `registry` optionally limits publication to one\nconfigured destination, and `buildRegistries` is the complete list of\nconfigured registries that may be authenticated before the build. An empty\n`buildRegistries` array performs no pre-build registry login. `parallel` is\neither `false`, `true`, or a positive concurrency integer. There is no\n`noBuild` mode: qualification always builds from the exact clean Git revision.\n`release-validate` verifies the request and project identity, exact clean Git\nrevision, configured registry authorities, selected registries, build-registry\nselection, and repository mappings. It does not inspect package versions,\nDockerfiles, tests, credentials, Docker availability, or remote state, and it\ndoes not start Docker, build images, or contact a destination. Release\norchestrators should run it before creating release metadata and again at their\nfinal journal-installation boundary.\n\nProbe and promotion requests have the same exact fields and differ only by\ntheir `kind`:\n\n```json\n{\"candidateId\":\"<64 lowercase hex>\",\"kind\":\"tsdocker-release-probe-request\",\"projectId\":\"<64 lowercase hex>\",\"promotionId\":\"<64 lowercase hex>\",\"protocolVersion\":1,\"schemaVersion\":1}\n```\n\nUse `tsdocker-release-promotion-request` for `release-promote`. Cleanup omits\n`promotionId` and uses `tsdocker-release-cleanup-request`.\n\n`projectId` is the lowercase SHA-256 hex digest of the absolute working\ndirectory. `candidateId` is SHA-256 over the UTF-8 domain\n`gitzone-tsdocker-release-candidate-v1` plus NUL followed by the canonical\nqualification request with `candidateId` omitted. Exported helpers\n`canonicalReleaseJsonDocument`, `createReleaseProjectId`, and\n`createReleaseCandidateId` generate these values. The command must run in the\nsame exact project directory used to generate the request.\n\nImport protocol helpers and TypeScript contracts from the side-effect-free\nprotocol modules, not the CLI package root:\n\n```ts\nimport {\n  assertReleaseCapabilitiesResult,\n  assertReleaseCleanupResult,\n  assertReleaseErrorResult,\n  assertReleaseProbeResult,\n  assertReleasePromotionResult,\n  assertReleaseQualificationResult,\n  assertReleaseValidationResult,\n  canonicalReleaseJsonDocument,\n  createReleaseCandidateId,\n  createReleaseProjectId,\n  createReleaseQualificationRequest,\n  getReleasePromotionContexts,\n} from '@git.zone/tsdocker/dist_ts/classes.releaseprotocol.js';\nimport type {\n  IReleaseValidationResult,\n  IReleaseQualificationRequest,\n  IReleaseQualificationResult,\n  IReleaseProbeResult,\n  IReleasePromotionResult,\n} from '@git.zone/tsdocker/dist_ts/interfaces/index.js';\n```\n\nEvery response includes exact `kind`, `schemaVersion: 1`, and\n`protocolVersion: 1` fields. The remaining exact fields are:\n\n| Result kind | Fields after the common version fields |\n| --- | --- |\n| `tsdocker-release-capabilities-result` | `projectId`, `supportedCommands`, `features` |\n| `tsdocker-release-validation-result` | `candidateId`, `projectId`, `requestDigest`, `state: \"valid\"` |\n| `tsdocker-release-qualification-result` | `candidateId`, `projectId`, `requestDigest`, `state: \"completed\"`, `release`, `images` |\n| `tsdocker-release-probe-result` | `candidateId`, `projectId`, `promotionId`, `destination`, `digest`, `alias` |\n| `tsdocker-release-promotion-result` | `candidateId`, `projectId`, `promotionId`, `status`, `destination`, `digest`, `alias` |\n| `tsdocker-release-cleanup-result` | `candidateId`, `projectId`, `status: \"absent\" | \"removed\"` |\n| `tsdocker-release-error-result` | `command`, `error: { code, message }` |\n\nThe exported `IRelease*` interfaces define every nested evidence field.\n`digest` probes always use `absent`, `exact`, `conflict`, or `inconclusive`\nwith an expected digest and nullable observed digest. Alias probes additionally\ndistinguish the exact journaled `predecessor`.\n\nParse capabilities with `assertReleaseCapabilitiesResult`, requiring the\ncommands and features the caller will use. Parse successful validation and\nqualification responses with `assertReleaseValidationResult` and\n`assertReleaseQualificationResult`. Pass each context returned by\n`getReleasePromotionContexts` to the probe and promotion assertions. Exit-code\n`1` responses are parsed with `assertReleaseErrorResult` and the command name,\nor `null` for an unknown command. Successful cleanup responses are parsed with\n`assertReleaseCleanupResult` and the candidate/project identity from the\ncleanup request.\n\n### Qualification Evidence\n\nQualification verifies a clean Git worktree at the requested revision, uses\nthe requested release version and revision as OCI provenance labels, and\nbuilds into an isolated registry rooted at\n`.nogit/docker-registry/releases/<candidateId>/registry/`. It does not reuse\nthe ordinary non-CI registry's storage namespace or blobs. Requested image\ntests finish before any destination publication.\n\nEach image result records its immutable source digest, complete recursively\nverified OCI graph, runnable platforms, and independent evidence for every\ndestination. Descriptor bytes must match their SHA-256 digest, declared size,\nand media type. Nested indexes are traversed. Platform identity comes from the\nimage config and must agree with index descriptors. BuildKit attestation\nmanifests and their subject links are retained in the graph but excluded from\nthe runnable platform set. Release version and revision labels must match\nexactly on every runnable image config.\n\nEach configured additional tag is an ordinary destination of its own: the\nimmutable digest is probed once per destination repository, and every tag of\nthat image is probed, journaled and promoted independently. A configuration in\nwhich two selected images would claim one tag fails qualification with\n`AMBIGUOUS_RELEASE_ALIASES`, and an unusable tag template fails\n`release-validate` with `INVALID_RELEASE_CONFIG`, before anything is built.\n\nBefore qualification completes, every destination digest and alias is probed.\nDigest references may be only absent or exact. Alias absence or the exact\nobserved predecessor digest is journaled independently per destination.\nConflicting or inconclusive digest probes and inconclusive alias probes fail\nqualification without publishing remotely. A positive immutable-digest\nconflict reports `DESTINATION_DIGEST_CONFLICT`; an unavailable, ambiguous, or\nunsupported digest probe reports `DESTINATION_DIGEST_PROBE_INCONCLUSIVE`.\nAn inconclusive alias probe reports `DESTINATION_ALIAS_PROBE_INCONCLUSIVE`.\nThese classified digest errors require the additive `--classified-errors`\nqualification flag and `classified-qualification-errors` capability. Without\nthat flag, both digest failures retain the protocol-v1-compatible\n`DESTINATION_DIGEST_PRECONDITION_FAILED` code.\n\n### Journals and Recovery\n\nCandidate state is stored canonically in\n`.nogit/docker-registry/releases/<candidateId>/candidate.json`. A new request\nfirst creates a durable `preparing` record. The complete evidence result is\nthen atomically renamed into a `completed` record only after build, tests,\ngraph verification, destination preprobes, and local Docker cleanup succeed.\nRepeating an identical completed qualification returns the exact recorded\nresult. A different request for the same ID conflicts. A `preparing` record is\nnever reclaimed or resumed automatically; it requires explicit\n`release-cleanup`.\n\nPromotion reopens and strictly validates the completed record, revalidates the\nsource graph from candidate storage, and rechecks current destination\nconfiguration. It copies blobs and manifests by digest, children before\nparents, and verifies the destination root digest. The final alias is not\nwritten when it is already exact, conflicting, inconclusive, or no longer\nmatches the journaled predecessor. Otherwise exactly one alias PUT is\nattempted. A lost response is reconciled by a probe and the PUT is never\nretried, which keeps crash and acknowledgement-loss retries safe.\n\nEach alias is one promotion, so an image with additional tags has one promotion\nper tag and per destination registry. The first of them copies the digest graph;\nevery further one finds that digest already exact and writes only its own alias.\nPromotion re-anchors the alias to current configuration: a journaled tag that\nthe configuration no longer authorizes is refused with\n`DESTINATION_CONFIGURATION_CHANGED` instead of being written.\n\nCleanup is idempotent: an absent candidate returns `absent`. Existing storage\nis removed only after proving no live tsdocker registry container or active\nbind mount owns that exact candidate registry directory in the Docker context\nrecorded by qualification. Cleanup never sweeps other candidates or ordinary\nregistry storage.\n\n### Config Subcommands\n\n| Subcommand       | Description                         |\n| ---------------- | ----------------------------------- |\n| `add-builder`    | Add or update a remote builder node |\n| `remove-builder` | Remove a remote builder by name     |\n| `list-builders`  | List all configured remote builders |\n| `show`           | Show the full global configuration  |\n\n**`add-builder` flags:**\n\n| Flag               | Description                                               |\n| ------------------ | --------------------------------------------------------- |\n| `--name=<name>`    | Builder name (e.g. `arm64-builder`)                       |\n| `--host=<user@ip>` | SSH host (e.g. `armbuilder@192.168.1.100`)                |\n| `--platform=<p>`   | Target platform (e.g. `linux/arm64`)                      |\n| `--ssh-key=<path>` | SSH key path (optional, uses SSH agent/config by default) |\n\n### Clean Flags\n\n| Flag    | Description                                        |\n| ------- | -------------------------------------------------- |\n| `--all` | Include all images and volumes (not just dangling) |\n| `-y`    | Auto-confirm all prompts                           |\n\n### Prune Flags\n\n`tsdocker prune` is dry-run by default. It reports labeled tsdocker registry containers whose recorded owners are proven dead and marked project-local registry cache directories that are safe to remove.\n\n| Flag | Description |\n| --- | --- |\n| `--apply` | Remove proven-abandoned labeled registry containers and marked, inactive registry cache directories |\n| `--context=<name>` | Inspect a specific Docker context |\n| `--json` | Emit a versioned preview with each cache's identity and `removal.requiresSudo`; preview only |\n| `--sudo` | Allow approved cache file removal through an already authenticated sudo session |\n\nPrune never deletes unmarked app data such as MongoDB, MinIO, or arbitrary Docker volumes. Container deletion requires complete tsdocker ownership labels and a proven-dead owner; the exact container ID and labels are re-inspected immediately before removal. Cache deletion requires a valid `.gitzone-tool-cache.json` marker, an allowlisted project path, and no active bind mount. Automatic abandoned-container cleanup never deletes the persistent registry data directory.\n\nPermission checks run during preview and again before deletion. Older registry blobs\nmay be owned by root. For those caches, run `sudo -v` and then\n`tsdocker prune --apply --sudo` in the same terminal, or use `tsdisk cleanup --apply`\nfor an interactive password prompt. Sudo authenticates the user; no password flag,\nenvironment variable, or credential file is used. The Node process and Docker\ncommands retain the caller's user identity. Only the system `/usr/bin/rm` runs with\nelevated permissions, removing a relative child of an open, verified directory.\nSymlink cache roots, symlink ancestors, filesystem mounts inside caches, changed\ncache identities, active mounts, and retained release candidates block cleanup.\nThe cache directory, marker and `releases` directory remain when contents are purged,\nincluding for session caches. Elevated deletion stays inside the verified cache itself.\nElevated removal requires Linux and a cache root owned by the caller. Each elevated\nremoval has a two-minute timeout and five-second termination grace period.\n\nOrdinary builds and release candidates run their registry with the caller's\nUID:GID on confirmed rootful Docker. Registry blobs therefore remain removable\nby that caller, including inside disposable Git worktrees. Rootless Docker keeps\nits namespace-mapped default user. Qualify actual blob writes and cleanup from a\nnon-root Unix account with a local rootful daemon using\n`pnpm exec tstest test.registryownership.integration.node.ts --verbose`.\n\n## Configuration\n\nConfigure tsdocker in your `.smartconfig.json` under the `@git.zone/tsdocker` key:\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"registries\": [\"registry.gitlab.com\", \"docker.io\"],\n    \"registryRepoMap\": {\n      \"registry.gitlab.com\": \"myorg/myproject\"\n    },\n    \"additionalTags\": [\"##version##\"],\n    \"buildArgEnvMap\": {\n      \"NODE_VERSION\": \"NODE_VERSION\"\n    },\n    \"buildSecretEnvMap\": {\n      \"npm_auth\": \"SZCI_TOKEN_NPM_1\"\n    },\n    \"platforms\": [\"linux/amd64\", \"linux/arm64\"],\n    \"buildxMemory\": \"8g\",\n    \"buildxMemorySwap\": \"8g\",\n    \"buildxCpuQuota\": 400000,\n    \"buildxCpuPeriod\": 100000,\n    \"testDir\": \"./test\",\n    \"requireTestFile\": true\n  }\n}\n```\n\n### Configuration Options\n\n#### Build & Push Options\n\n| Option            | Type       | Default           | Description                                    |\n| ----------------- | ---------- | ----------------- | ---------------------------------------------- |\n| `registries`      | `string[]` | `[]`              | Registry URLs to push to                       |\n| `registryRepoMap` | `object`   | `{}`              | Map registries to different repository paths   |\n| `additionalTags`  | `string[]` | `[]`              | Extra tags every selected image publishes for the identical manifest digest; see [Additional Tags](#-additional-tags) |\n| `buildArgEnvMap`  | `object`   | `{}`              | Map Docker build ARGs to environment variables |\n| `buildSecretEnvMap` | `object` | `{}`              | Map BuildKit secret IDs to required environment variables |\n| `platforms`       | `string[]` | `[\"linux/amd64\"]` | Target architectures for multi-arch builds     |\n| `buildxMemory`    | `string`   | `\"8g\"`           | Memory limit applied independently to each BuildKit node |\n| `buildxMemorySwap` | `string`  | `buildxMemory`     | Memory + swap limit per node; the default disables swap |\n| `buildxCpuQuota`  | `number`   | `400000`          | CPU quota applied to each BuildKit node         |\n| `buildxCpuPeriod` | `number`   | `100000`          | CPU period applied to each BuildKit node        |\n| `testDir`         | `string`   | `./test`          | Directory containing test scripts              |\n| `requireTestFile` | `boolean`  | `false`           | Fail when neither a versioned nor generic test exists |\n| `autoCleanup`     | `boolean`  | `true`            | Remove or prune local-only builders and attempt abandoned-topology removal; owned remote topology retirement and ownership safety remain mandatory |\n| `cleanupOnStart`  | `boolean`  | `true`            | Prune the selected builder before a build |\n| `buildxPruneUntil` | `string`  | `\"168h\"`         | Prune selected-builder cache entries older than this duration; `\"0\"` disables the age rule |\n| `buildxPruneMaxUsedSpace` | `string` | `\"2gb\"`    | Bound selected-builder cache usage; `\"0\"` disables the size rule |\n| `removeCiBuilders` | `boolean` | `true`            | Remove local-only CI builders at command end; `false` retains them and enables pruning only while `autoCleanup` remains enabled; remote topologies are always retired |\n\n## Architecture: How tsdocker Works\n\ntsdocker uses a **local OCI registry** as the canonical store for all built images. This design solves fundamental problems with Docker's local daemon, which cannot hold multi-architecture manifest lists.\n\n### 📐 Build Flow\n\n```\n┌─────────────────────────────────────────────────────┐\n│  tsdocker build                                     │\n│                                                     │\n│  1. Start local registry (localhost:<dynamic-port>)  │\n│     └── Persistent volume: .nogit/docker-registry/  │\n│                                                     │\n│  2. For each Dockerfile (topological order):         │\n│     ├── Multi-platform: buildx --push → registry    │\n│     ├── Explicit single platform: buildx --load     │\n│     └── Default single platform: docker build       │\n│                                                     │\n│  3. Stop local registry (data persists on disk)      │\n└─────────────────────────────────────────────────────┘\n```\n\n### 🔎 Image Provenance\n\nEvery standard, Buildx single-platform, and Buildx multi-platform build receives the same source labels:\n\n| Label | Source |\n| --- | --- |\n| `version` | Package version; retained for compatibility |\n| `org.opencontainers.image.version` | Package version |\n| `org.opencontainers.image.revision` | Exact Git `HEAD` |\n| `org.opencontainers.image.source` | Sanitized `package.json` repository URL |\n\nRepository credentials, query parameters, fragments, control characters, and unsafe path traversal are never copied into labels. Missing metadata is omitted with a warning rather than represented as `unknown`; release pipelines can require the complete three-key OCI set.\n\n`--cached` validates the provenance fingerprint, configured target platform, inspected image OS/architecture/variant, actual image labels, image ID, and current tag mapping before skipping a build. Older or incomplete cache formats fail closed and rebuild. Configured singleton platforms stay on the standard Docker path with an explicit, quoted `--platform` and remain cacheable because the target and loaded image platform are both verified. Explicit `--platform`, `--only-archs`, and multi-platform override builds continue to ignore `--cached`.\n\n### 🪪 Provenance Inside the Image\n\nA label is image metadata: the process running in the container cannot read it. For the version and the exact revision to be readable from inside, tsdocker passes the identical values as build args a Dockerfile may turn into environment variables.\n\n| Build arg | Value | Identical to |\n| --- | --- | --- |\n| `TSDOCKER_IMAGE_REVISION` | Exact Git `HEAD` | `org.opencontainers.image.revision` |\n| `TSDOCKER_IMAGE_VERSION` | Package version | `org.opencontainers.image.version` |\n\nDeclare the args your image needs in its **final stage, after the expensive `COPY` and `RUN` steps**. BuildKit invalidates the cache from the point an `ARG` is used, so a declaration placed early rebuilds the whole image on every commit:\n\n```dockerfile\nFROM node:24 AS build\nCOPY . .\nRUN npm run build\n\nFROM node:24\nCOPY --from=build /app /app\nARG TSDOCKER_IMAGE_REVISION\nARG TSDOCKER_IMAGE_VERSION\nENV TSDOCKER_IMAGE_REVISION=$TSDOCKER_IMAGE_REVISION \\\n    TSDOCKER_IMAGE_VERSION=$TSDOCKER_IMAGE_VERSION\nCMD [\"node\", \"cli.js\"]\n```\n\nThe process then reads `process.env.TSDOCKER_IMAGE_REVISION` and `process.env.TSDOCKER_IMAGE_VERSION`.\n\nEach arg is passed only to a Dockerfile that declares it, on all three build paths. A Dockerfile that declares neither builds exactly as before, and Docker never reports an unused build arg. A value that could not be resolved — no Git `HEAD`, no package version — is omitted rather than represented as `unknown`, and a Dockerfile that declares that arg is named in a warning. The values are taken from the labels, so what a container reports about itself and what the registry reports about that image cannot diverge. Unlike `buildArgEnvMap`, these values need no configuration and no environment variable: tsdocker resolves them from the project itself.\n\n### 📤 Push Flow\n\n```\n┌────────────────────────────────────────────────────────┐\n│  tsdocker push                                         │\n│                                                        │\n│  1. Start local registry (loads persisted data)         │\n│                                                        │\n│  2. For each image × each remote registry:              │\n│     └── OCI Distribution API copy (with retry):        │\n│         ├── Verify expected source digest (--no-build)  │\n│         ├── Fetch manifest (single or multi-arch)       │\n│         ├── Copy blobs (skip if already exist)          │\n│         ├── Retry up to 6× with exponential backoff    │\n│         ├── Push manifest with destination tag          │\n│         └── Verify destination tag has source digest    │\n│     └── For each additional tag:                        │\n│         ├── Read the pushed manifest back by digest     │\n│         ├── Put those exact bytes under the extra tag   │\n│         └── Verify the tag resolves to the same digest  │\n│                                                        │\n│  3. Stop local registry                                │\n└────────────────────────────────────────────────────────┘\n```\n\nAn additional tag never repeats the copy: the manifest is read back by digest and\nwritten under the further tag, so it costs one manifest request and no blob\ntransfer, and one write covers every platform of a multi-arch index. A tag that\ndoes not resolve to the pushed digest afterwards fails the push before the next\ntag is written.\n\n### 🔑 Why a Local Registry?\n\n| Problem                                             | Solution                                                            |\n| --------------------------------------------------- | ------------------------------------------------------------------- |\n| `docker buildx --load` fails for multi-arch images  | `buildx --push` to local registry works for any number of platforms |\n| `docker push` only pushes single-platform manifests | OCI API copy preserves full manifest lists (multi-arch)             |\n| Images lost between build and push phases           | Persistent storage at `.nogit/docker-registry/` survives restarts   |\n| Redundant blob uploads on incremental pushes        | HEAD checks skip blobs that already exist on the remote             |\n\n### 🔁 Resilient Push\n\nThe OCI Distribution API client applies operation-specific request bounds:\n\n- **Timeouts** — Five minutes for general registry/blob requests and 30 seconds for authentication, metadata, and upload-status calls\n- **Automatic Retry** — General requests use up to six attempts; chunk PATCH failures reconcile accepted bytes and can retry up to six times, while other upload substeps use lower one- or three-attempt limits\n- **Retry Logic** — General requests retry network errors (`ECONNRESET`, `fetch failed`) and 5xx server errors, but not 4xx responses; chunk PATCH treats every non-202 response as a resumable chunk failure\n- **Token Cache** — A 401 from a general registry request clears its cached token for a later independent request; upload requests do not perform that cache update\n\nThis lets transient connection and server failures resume within explicit bounds instead of silently hanging a multi-arch transfer.\n\nRegistry copy returns exact source and destination manifest evidence. A copy is\nsuccessful only when the destination tag resolves to the same content-verified\ntop-level digest as the source. Push also fails nonzero when no Dockerfiles are\nfound, a pattern matches none, a requested registry is unavailable, or no\ndestination registries are configured.\n\nMulti-registry publication is sequential rather than transactional. If a later\nregistry fails, an earlier verified destination can remain published; record\nthe returned evidence and either complete or explicitly roll back that release.\nThe same applies to finalization: if destination publication succeeds but exact\nSSH, local registry, or Buildx cleanup fails, the command exits nonzero even\nthough the remote tag may already have been updated.\n\n### 🏭 CI-Safe Session Isolation\n\nEvery tsdocker invocation gets a **session** and an internal ownership identity:\n\n- **Session ID** — Random 8-char hex (override with `TSDOCKER_SESSION_ID`)\n- **Invocation ID** — Cryptographically random 32-char hex, never caller-controlled\n- **Project ID** — Full SHA-256 of the current working-directory string\n- **Registry port** — Dynamically allocated (override with `TSDOCKER_REGISTRY_PORT`)\n- **Registry container** — Named `tsdocker-registry-<projectId>-<invocationId>` for every invocation\n- **Builder suffix** — Reusable local-only topologies use the project hash plus the public CI session when applicable; removable CI-local and every remote-node topology also include the internal invocation identity\n- **Registry data path** — Local runs use `.nogit/docker-registry/`; CI runs use `.nogit/docker-registry/<sessionId>/`\n\nRegistry cache directories are marked with `.gitzone-tool-cache.json`. Registry containers receive the project and invocation IDs plus exact owner host, PID namespace, PID, and process-start labels. Startup first rejects unsafe name, data-path, and port conflicts, then uses `docker create`, verifies the returned full container ID and canonical labels, binds that exact identity, and runs `docker start <id>`. It removes only an exact container owned by the current invocation or a same-project container whose owner is proven dead and whose automatic cleanup is enabled. A create or inspect outcome that cannot establish an exact binding remains indeterminate and never authorizes name-based cleanup or a port retry.\n\nRemote topology names isolate concurrent invocations. A project registry intentionally has one owner at a time; concurrent commands in one local project, or CI commands sharing one project and session ID, are rejected instead of sharing its persistent registry. Auto-detected CI systems:\n\n| Environment Variable | CI System      |\n| -------------------- | -------------- |\n| `GITEA_ACTIONS`      | Gitea Actions  |\n| `GITHUB_ACTIONS`     | GitHub Actions |\n| `GITLAB_CI`          | GitLab CI      |\n| `CI`                 | Generic CI     |\n\nIn local development, local-only builder suffixes are stable per project path, keeping a reusable builder while avoiding collisions between projects. Retained CI-local builders are stable per project and public session ID. CI-local builders selected for end-of-run removal, and every topology containing a remote node, are invocation-scoped so parallel runs cannot remove or replace each other's builders. Existing reusable local builders are never replaced automatically when their nodes or resource limits differ; setup fails and requires manual idle verification before removal.\n\nSeparate CI invocations that build, inspect, test, and push one unchanged\ncandidate must set the same non-secret `TSDOCKER_SESSION_ID` and reuse the same\npersisted project workspace (specifically\n`.nogit/docker-registry/<sessionId>/`). Run those invocations sequentially: the\nproject and session ID together determine the persistent registry data path.\nContainer names remain invocation-scoped, while exact path-conflict checks prevent\nsimultaneous ownership of the same persisted candidate. Identical session IDs in\ndifferent projects remain isolated. A new release candidate must use a new session ID.\nSession IDs are limited to 1-64 letters, digits, dots, underscores, or hyphens.\nRegistry passwords are passed through Docker's `--password-stdin` interface and\nare never interpolated into shell command strings.\n\n### 🤝 Concurrent Releases on One Host\n\nSeveral tsdocker releases can run side by side on one machine, in different project\ndirectories, at the same time. Builds never wait for each other. What they do is\npublish a **host build lease** — one small file per invocation under\n`~/.git.zone/tsdocker/host-build-leases/<invocationId>.json` holding the project and\ninvocation identity plus the exact owner process identity. The per-project journals in\n`.nogit/tsdocker-buildx-ownership/` and `.nogit/tsdocker-ssh-ownership/` are deliberately\ninvisible across projects, so the lease is the only place where a session in another\ndirectory can be seen at all.\n\nHost-global maintenance respects that lease instead of tearing a peer's build down:\n\n| Operation | Behaviour while another build holds the host |\n| --- | --- |\n| `tsdocker prune --apply` | Waits before its batched removal of registry containers |\n| `tsdocker clean` | Waits before killing or removing any container, image, or volume |\n| End-of-run and startup `docker buildx prune --all` of a **shared** per-project builder | Deferred, with a `Buildx cleanup (...): deferred` line, and recorded as debt |\n| The same prune of an **invocation-scoped** builder | Runs unconditionally: no other invocation can select that builder |\n\nA deferred prune is **delayed, never skipped**. Each deferral is written to\n`~/.git.zone/tsdocker/deferred-buildx-prunes/<builderHash>.json`, and the next invocation\nthat finds the host idle performs it — including for a builder it does not use itself.\nWithout that record, continuously overlapping builds on a busy host would postpone the\nbounded `until=168h` / `--max-used-space 2gb` prune forever and let the BuildKit cache\ngrow without limit.\n\nWhile waiting, one named line is logged per poll:\n\n```\nHost build lease: tsdocker prune --apply is waiting for 2 active tsdocker build(s): release pid 4242 project 069b3ce0 held for 2m; build pid 5150 project abff80da held for 41s\n```\n\nThe wait is bounded by `TSDOCKER_HOST_LEASE_WAIT_TIMEOUT` (default 900 seconds,\npolled every `TSDOCKER_HOST_LEASE_POLL_INTERVAL` seconds, default 5). When it expires the\ncommand fails without removing anything and names each holder, how long it has held the\nhost, and the exact lease file to delete once you have proven the owning process is gone:\n\n```\nHost build lease wait for tsdocker clean exceeded 900000ms; 1 tsdocker build(s) still hold\nthe host: release pid 4242 project 069b3ce0 held for 18m. Leases live in\n/home/you/.git.zone/tsdocker/host-build-leases; after proving a holder process is gone\n(for example `ps -p 4242`), delete its lease file to unblock maintenance:\n/home/you/.git.zone/tsdocker/host-build-leases/b7ff0e93….json\n```\n\nA lease whose owner is **provably dead** is released automatically, so a crashed session\nnever blocks maintenance; a lease whose owner cannot be verified counts as live and keeps\nblocking, because losing a running build is worse than delaying a cleanup.\n\n**Residual, by design:** maintenance publishes no lease of its own. `tsdocker clean` and\n`tsdocker prune --apply` wait for the builds that are running when they start, but a build\nthat *starts* while one of them is already running is not protected — `tsdocker clean`\nremoves every container on the host, tsdocker-owned or not. Both commands are operator\ncommands: run them when you do not intend to start a release.\n\nA build that fails for any reason now reports the actual BuildKit diagnosis\n(`Build failed for <image>:<version>: ERROR: failed to solve: ...`) rather than a bare\nconstant, because release protocol commands mute the logger and the thrown message is\nthe only channel back to the caller. Before that message is assembled, the resolved\n`buildArgEnvMap` and `buildSecretEnvMap` values, the registry passwords of this run, and\nany `Authorization: …`, `token=…` or `password=…` shape are replaced with `[redacted]`,\nso the credential-free guarantee of `tsdocker-release-error-result` also holds for build\narguments BuildKit echoes back in its failure lines.\n\n### 🔍 Docker Context & Topology Detection\n\ntsdocker automatically detects your Docker environment topology:\n\n| Topology       | Detection                          | Meaning                                               |\n| -------------- | ---------------------------------- | ----------------------------------------------------- |\n| `local`        | Default                            | Standard Docker installation on the host              |\n| `socket-mount` | `/.dockerenv` exists               | Running inside a container with Docker socket mounted |\n| `dind`         | `DOCKER_HOST` starts with `tcp://` | Docker-in-Docker setup                                |\n\nContext-aware builder names (`tsdocker-builder-<context>`) prevent conflicts across Docker contexts. Rootless Docker configurations trigger appropriate warnings.\n\n## Registry Authentication\n\n### Environment Variables\n\n```bash\n# Pipe-delimited format (supports DOCKER_REGISTRY_1 through DOCKER_REGISTRY_10)\nexport DOCKER_REGISTRY_1=\"registry.gitlab.com|username|password\"\nexport DOCKER_REGISTRY_2=\"docker.io|username|password\"\n\n# Individual registry format\nexport DOCKER_REGISTRY_URL=\"registry.gitlab.com\"\nexport DOCKER_REGISTRY_USER=\"username\"\nexport DOCKER_REGISTRY_PASSWORD=\"password\"\n```\n\n### Docker Config Fallback\n\nWhen pushing, tsdocker will also read credentials from `~/.docker/config.json` if no explicit credentials are provided via environment variables. This means `docker login` credentials work automatically. Docker Hub special cases (`docker.io`, `index.docker.io`, `registry-1.docker.io`) are all recognized.\n\n### Login Command\n\n```bash\ntsdocker login\n```\n\nAuthenticates with all configured registries using the provided environment variables.\n\n## Advanced Usage\n\n### 🔀 Multi-Architecture Builds\n\nBuild for multiple platforms using Docker Buildx:\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"platforms\": [\"linux/amd64\", \"linux/arm64\"]\n  }\n}\n```\n\ntsdocker automatically:\n\n- Sets up Buildx nodes with host networking and bounded memory, swap, and CPU driver options\n- Pushes multi-platform images to the local registry via `buildx --push`\n- Copies the full manifest list (including all platform variants) to remote registries on `tsdocker push`\n\nEach local or remote `docker-container` node defaults to 8 GiB of memory, no\nswap, and four CPU cores (`cpu-quota=400000`, `cpu-period=100000`). Limits apply\nindependently to each node, not collectively across concurrent builders. Override\nthem with `buildxMemory`, `buildxMemorySwap`, `buildxCpuQuota`, and\n`buildxCpuPeriod`. Environment overrides take precedence and are named\n`TSDOCKER_BUILDX_MEMORY`, `TSDOCKER_BUILDX_MEMORY_SWAP`,\n`TSDOCKER_BUILDX_CPU_QUOTA`, and `TSDOCKER_BUILDX_CPU_PERIOD`.\nStartup cache maintenance targets only the builder selected for the current\nproject and platform topology; it never enumerates or wakes unrelated builders.\nIf a reusable local builder already exists but its exact node topology or resource\nlimits differ, tsdocker refuses to remove or replace it automatically.\n\nUse `--only-archs` when the published architecture set should be explicit:\n\n```bash\ntsdocker push --only-archs=amd64,riscv64\n```\n\nThe flag overrides the project's configured `platforms` for that build. It accepts\nthe Linux GOARCH names `386`, `amd64`, `arm`, `arm64`, `loong64`, `mips`,\n`mipsle`, `mips64`, `mips64le`, `ppc64`, `ppc64le`, `riscv64`, and\n`s390x`. The aliases `x64` → `amd64`, `aarch64` → `arm64`, and `risc-v`\n→ `riscv64` are also accepted. It cannot be combined with `--platform` or\n`--no-build`.\n\nThe selection is strict: tsdocker does not probe builders or silently remove an\narchitecture. If the selected Buildx topology cannot build every requested\narchitecture, the build fails. Architecture-specific builds also ignore\n`--cached` because the content cache does not encode the selected platforms.\n\n### 🖥️ Native Remote Builders\n\nInstead of relying on slow QEMU emulation for cross-platform builds, tsdocker can use **native remote machines** via SSH as build nodes. For example, use a real arm64 machine for `linux/arm64` builds:\n\n```bash\n# Add a remote arm64 builder\ntsdocker config add-builder \\\n  --name=arm64-builder \\\n  --host=armbuilder@192.168.1.100 \\\n  --platform=linux/arm64 \\\n  --ssh-key=~/.ssh/id_ed25519\n\n# List configured builders\ntsdocker config list-builders\n\n# Remove a builder\ntsdocker config remove-builder --name=arm64-builder\n\n# Show full global config\ntsdocker config show\n```\n\nGlobal configuration is stored at `~/.git.zone/tsdocker/config.json`.\n\n**How it works:**\n\nWhen remote builders match the effective platform selection (the project\n`platforms` or a CLI override), tsdocker automatically:\n\n1. Creates an exact **Buildx node topology** — local nodes cover only unmatched platforms; if remotes cover every selected platform, no unrestricted local node is added\n2. Opens **SSH reverse tunnels** so the remote builder can push to the local staging registry\n3. Builds matching remote platforms natively; unmatched selected platforms stay on the constrained local Buildx node and may require emulation\n4. Tears down tunnels and the invocation-owned remote Buildx topology after the command completes\n\nRemote-node topologies are ephemeral and use a cryptographically random internal\ninvocation fingerprint, even when commands reuse the same public\n`TSDOCKER_SESSION_ID`. Removing a topology also releases its remote BuildKit state\ninstead of accumulating one cache volume per project on a shared native builder.\nNon-CI local-only builders remain persistent and receive bounded cache pruning.\n`autoCleanup: false` disables local-only builder removal/pruning and the best-effort\nDocker removal attempted for an abandoned topology; it cannot disable ownership\nchecks, tombstone blocking, or retirement of a topology owned by the current process. In\nCI, `removeCiBuilders: false` retains and prunes local-only builders; remote-node\ntopologies are always retired.\n\nBefore any Docker command can create a remote node, tsdocker writes a schema-2 ownership\nrecord below `.nogit/tsdocker-buildx-ownership/` and durably changes its phase from\n`reserved` to `creating`. The record includes the exact builder, Docker context,\nand planned local or remote BuildKit container and volume names. A live `creating`\nowner deletes its record only after one successful, single-flight `docker buildx rm`;\na live `reserved` owner may release its record after Buildx confirms it is absent.\n\nA later run with automatic cleanup enabled can discard a dead same-host `reserved`\nrecord because no topology mutation could have started. With automatic cleanup\ndisabled, that unused reservation is retained but does not authorize mutation. A\ndead `creating` record is intentionally fail-closed: tsdocker attempts exact Buildx\nremoval when automatic cleanup is enabled, retains the record as a tombstone, prints\nthe exact resources requiring verification, and refuses to create another remote\ntopology. Verify every recorded container and volume is absent, then remove only\nthat tombstone. Never delete it before completing that verification. A foreign-host\nor malformed record blocks remote setup because its owner state cannot be proven;\na live same-host record is left untouched. An incomplete atomic `.pending` artifact\nalso blocks setup until its exact resources are verified manually; a validated\ncompleted `.release` artifact is safe to finish removing during reconciliation.\nOwnership records require a persistent workspace across invocations.\n\nSSH reverse tunnels have a separate journal below\n`.nogit/tsdocker-ssh-ownership/`. An `opening` record is fsynced before SSH starts;\nafter tsdocker captures the exact directly owned child, the record becomes `active`.\nThe record contains the host and random control-socket path but never the SSH key\npath. A later run releases a dead-owner `active` record directly when both the exact\nchild and control socket are already absent. If the exact child is still alive with\nits same-UID owned socket, recovery uses `ssh -O check`, `ssh -O exit`, and\nclosed-process/socket proof. It never signals a recovered numeric PID. Dead\n`opening` records, current-invocation conflicts, malformed records, foreign projects,\nand unverifiable owners block remote setup; an unrelated exact live owner remains\nuntouched and nonblocking. Incomplete `.pending` artifacts block for manual verification,\nwhile validated `.release` artifacts are completed during reconciliation.\n`autoCleanup: false` disables abandoned SSH mutation without weakening a required block.\n\nFor a mixed local `linux/amd64` and remote `linux/arm64` selection:\n\n```\n[Local machine]                        [Remote arm64 machine]\n  registry:2 on localhost:PORT  <──── SSH reverse tunnel ──── localhost:PORT\n  BuildKit (amd64) ──push──>            BuildKit (arm64) ──push──>\n     localhost:PORT                        localhost:PORT (tunneled)\n```\n\n**Prerequisites for the remote machine:**\n\n- Docker installed and running\n- A user with Docker group access (no sudo needed)\n- SSH key access configured\n\nThe machine running tsdocker must be Linux with usable `/proc`, machine identity,\nboot identity, and PID namespace metadata. Native remote setup fails closed when it\ncannot capture exact owner and SSH child process identities.\n\n### ⚡ Parallel Builds\n\nSpeed up builds by building independent images concurrently:\n\n```bash\n# Default concurrency (4 workers)\ntsdocker build --parallel\n\n# Custom concurrency\ntsdocker build --parallel=8\n\n# Works with caching too\ntsdocker build --parallel --cached\n```\n\ntsdocker groups Dockerfiles into **dependency levels** using topological analysis. Images within the same level have no dependencies on each other and build in parallel. Each level completes before the next begins.\n\n### 📦 Dockerfile Naming Conventions\n\ntsdocker discovers files matching `Dockerfile*`:\n\n| File Name                | Version Tag                 |\n| ------------------------ | --------------------------- |\n| `Dockerfile`             | `latest`                    |\n| `Dockerfile_v1.0.0`      | `v1.0.0`                    |\n| `Dockerfile_alpine`      | `alpine`                    |\n| `Dockerfile_##version##` | Uses `package.json` version |\n\n#### 🏷️ Additional Tags\n\nThe file name decides the one tag an image builds. `additionalTags` publishes that **identical\nmanifest digest** under further tags, so an image can be `:latest` *and* `:1.2.3` without a second\nbuild and without a second Dockerfile, which would be a different digest:\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"additionalTags\": [\"##version##\", \"##version.major##.##version.minor##\", \"stable\"]\n  }\n}\n```\n\n| Placeholder          | Expansion for release `1.2.3-beta.1` |\n| -------------------- | ------------------------------------ |\n| `##version##`        | `1.2.3-beta.1`                       |\n| `##version.major##`  | `1`                                  |\n| `##version.minor##`  | `2`                                  |\n| `##version.patch##`  | `3`                                  |\n\nAnything else is a literal, so `stable` or `v##version.major##` are ordinary tags. An unknown\n`##token##`, a stray `#`, a tag that is not canonical OCI syntax, a duplicate, a tag that repeats\nthe image's own tag, and a tag two selected images would share are all refused before anything is\nbuilt or published. A `tsdocker push` announces each extra tag from the digest it just verified —\none manifest request per tag, no second build and no blob transfer. `reannounce-immutable` is the\none exception: it re-announces only each image's own tag, because a floating alias is meant to move\nbetween releases while an immutable destination exists to refuse exactly that; a run that has\n`additionalTags` configured says so in a warning.\n\nThe expansion is literal, including for a prerelease: with `1.2.3-beta.1`,\n`##version.major##.##version.minor##` is `1.2`, so a floating tag configured here also moves for a\nprerelease. Use `##version##` when a tag must stay immutable.\n\nPublishing additional tags through `gitzone release` requires the `@git.zone/cli` release that pins\n`@git.zone/tsdocker` ≥ 3.8.0: gitzone validates release results with its own bundled\nrelease-protocol module, and an older one refuses the qualification result with\n`INVALID_CANDIDATE_RECORD` before any promotion.\n\n### 🎯 Dockerfile Filtering\n\nBuild or push only the Dockerfiles you need. Positional arguments are matched against Dockerfile basenames as glob patterns:\n\n```bash\n# Build a single Dockerfile\ntsdocker build Dockerfile_base\n\n# Glob patterns with * and ? wildcards\ntsdocker build Dockerfile_app*\n\n# Multiple patterns\ntsdocker build Dockerfile_base Dockerfile_web\n\n# Push a specific image without rebuilding\ntsdocker push --no-build Dockerfile_api \\\n  --expected-digest=\"api:v1.0.0=sha256:<64-lowercase-hex>\"\n```\n\nWhen filtering for `build`, **dependencies are auto-resolved**: if `Dockerfile_app` depends on `Dockerfile_base`, specifying only `Dockerfile_app` will automatically include `Dockerfile_base` in the build order.\n\n### 🔗 Dependency-Aware Builds\n\nIf you have multiple Dockerfiles that depend on each other:\n\n```dockerfile\n# Dockerfile_base\nFROM node:20-alpine\nRUN npm install -g typescript\n\n# Dockerfile_app\nFROM myproject:base\nCOPY . .\nRUN npm run build\n```\n\ntsdocker automatically detects that `Dockerfile_app` depends on `Dockerfile_base`, builds them in the correct order, and makes the base image available to dependent builds via the local registry (using `--build-context` for buildx).\n\n### 🧪 Container Test Scripts\n\nCreate test scripts in your test directory:\n\n```bash\n# test/test_latest.sh\n#!/bin/bash\nnode --version\nnpm --version\necho \"Container tests passed!\"\n```\n\nRun with:\n\n```bash\ntsdocker test\n```\n\nThis builds all images, starts the local registry, and runs each matching script with Bash as the image's configured default `USER`. tsdocker copies a temporary mode-normalized script into an invocation-unique container, starts it attached, and removes both the container and host staging data in a `finally` path. It does not create a root-owned directory in the image and does not commit a derivative test image. Images tested this way must contain `bash`.\n\nDocker result failures retain their exit code and bounded stderr/stdout, while spawn failures retain the operation that could not start. Cleanup failures never replace the primary test failure.\n\nTest containers carry canonical project, invocation, container-name, image, and\nexact process-owner labels. Before creating one, tsdocker enumerates full IDs and\nremoves only same-project containers with proven-dead owners when automatic cleanup\nis enabled. Any unresolved current-invocation container blocks before owner status is\nconsidered; malformed, live-conflicting, and unverifiable identities also block the run.\nCreation or inspection ambiguity never triggers name-based deletion; cleanup begins\nonly after the returned full ID and labels have been bound exactly.\n\nFor each image, discovery prefers `test_<version>.sh` and falls back to `test_latest.sh`. Set `requireTestFile: true` in release/CI configuration to turn a missing script into an error instead of a warning.\n\nTo test an already accepted candidate without rebuilding, reuse its session and\nbind the canonical local-registry source digest:\n\n```bash\nexport TSDOCKER_SESSION_ID=release-candidate-123\nEXPECTED_DIGEST=\"$(tsdocker digest Dockerfile_##version## --json | jq -r '.digests[0].digest')\"\ntsdocker test --no-build Dockerfile_##version## --expected-digest=\"$EXPECTED_DIGEST\"\n```\n\nThe no-build path preflights every selected tag, then creates the test container\nfrom the verified digest-pinned `repo@sha256:...` reference.\n\n### 🔧 Build Args from Environment\n\nPass non-sensitive build configuration as Docker build arguments:\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"buildArgEnvMap\": {\n      \"NODE_VERSION\": \"NODE_VERSION\"\n    }\n  }\n}\n```\n\n```dockerfile\nARG NODE_VERSION=20\nFROM node:${NODE_VERSION}\n```\n\nBuild arguments are visible in build commands and can persist in image history, so never use them for credentials.\n\n### 🔐 Build Secrets from Environment\n\nMap each BuildKit secret ID to a required environment variable:\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"buildSecretEnvMap\": {\n      \"npm_auth\": \"SZCI_TOKEN_NPM_1\"\n    }\n  }\n}\n```\n\n```dockerfile\nRUN --mount=type=secret,id=npm_auth,env=SZCI_TOKEN_NPM_1 szci npm prepare \\\n  && pnpm install \\\n  && rm -f /root/.npmrc\n```\n\ntsdocker fails before starting the build if a configured secret environment variable is absent or empty. Secret values are inherited by Docker from the process environment and never enter tsdocker's command string. BuildKit does not persist the mounted secret itself; if a build tool writes credentials to another file, remove that file in the same `RUN` instruction as shown above.\n\n### 🗺️ Registry Repo Mapping\n\nUse different repository names for different registries:\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"registries\": [\"registry.gitlab.com\", \"docker.io\"],\n    \"registryRepoMap\": {\n      \"registry.gitlab.com\": \"mygroup/myproject\",\n      \"docker.io\": \"myuser/myproject\"\n    }\n  }\n}\n```\n\nWhen pushing, tsdocker maps the local repo name to the registry-specific path. For example, a locally built `myproject:latest` becomes `registry.gitlab.com/mygroup/myproject:latest` and `docker.io/myuser/myproject:latest`. Configured [additional tags](#-additional-tags) follow the same mapping: with `additionalTags: [\"##version##\"]`, both registries also carry `…/myproject:1.2.3` pointing at the identical manifest digest.\n\n### 📋 Listing Dockerfiles\n\nInspect your project's Dockerfiles and their relationships:\n\n```bash\ntsdocker list\n```\n\nOutput:\n\n```\nDiscovered Dockerfiles:\n========================\n\n1. /path/to/Dockerfile_base\n   Tag: myproject:base\n   Base Image: node:20-alpine\n   Version: base\n\n2. /path/to/Dockerfile_app\n   Tag: myproject:app\n   Base Image: myproject:base\n   Version: app\n   Depends on: myproject:base\n```\n\n## Examples\n\n### Minimal Build & Push\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"registries\": [\"docker.io\"],\n    \"platforms\": [\"linux/amd64\"]\n  }\n}\n```\n\n```bash\ntsdocker push\n```\n\n### Full Production Setup\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"registries\": [\"registry.gitlab.com\", \"ghcr.io\", \"docker.io\"],\n    \"registryRepoMap\": {\n      \"registry.gitlab.com\": \"myorg/myapp\",\n      \"ghcr.io\": \"myorg/myapp\",\n      \"docker.io\": \"myuser/myapp\"\n    },\n    \"buildArgEnvMap\": {\n      \"NODE_VERSION\": \"NODE_VERSION\"\n    },\n    \"buildSecretEnvMap\": {\n      \"npm_auth\": \"SZCI_TOKEN_NPM_1\"\n    },\n    \"platforms\": [\"linux/amd64\", \"linux/arm64\"],\n    \"testDir\": \"./docker-tests\"\n  }\n}\n```\n\n### CI/CD Integration\n\n**GitLab CI:**\n\n```yaml\nbuild-and-push:\n  stage: build\n  script:\n    - pnpm add --global @git.zone/tsdocker\n    - tsdocker push\n  variables:\n    DOCKER_REGISTRY_1: 'registry.gitlab.com|$CI_REGISTRY_USER|$CI_REGISTRY_PASSWORD'\n```\n\n**GitHub Ac","readmeFilename":""}