{"_id":"@saptools/cf-sync","_rev":"28-a86b311b98bf90113d2556eb5261bd4b","name":"@saptools/cf-sync","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@saptools/cf-sync","version":"0.1.0","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.1.0","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"7006f6dd7b188c978923b8e9da06bef2a1825ea6","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.1.0.tgz","fileCount":8,"integrity":"sha512-McdZ8ZLYTR+9RsyK6d+LzSsyEFEVZ6xBfsj/yIWIyQaihhfYomrqO+w7Rt179V796qELF6yTwys4eYj5KlnUmg==","signatures":[{"sig":"MEQCIACR/O+NyeSS0IoFac3+3z/iLIgSLiqatcgmih55gYAhAiAlnBfFvbMM012EBJqMOE8NQ1Ir80HKVdEQAghLYswRLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91625},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c26174c4fcae5e43b8cafdeb5e06a712fedf5106","scripts":{"lint":"eslint src tests","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dongtran","email":"thiendong.iuh@gmail.com"},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.12.1","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.1.0_1776461449151_0.2652433130853813","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@saptools/cf-sync","version":"0.1.1","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.1.1","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"c063b0fee4c9f47a9a49c77d6311ee3f35808fe2","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.1.1.tgz","fileCount":8,"integrity":"sha512-I8JJqEQO66YBmarOzp+RUdzvgWce3fSMY4gskbZ5lF3VaS/FUekXzD6nLQXllW3rL3HX+vP15L/2mDRALJ8+3g==","signatures":[{"sig":"MEUCIH5PPRTjOFwBjhVzVgGg56z0T5q8despofbmqARI/RGgAiEAhIYW3VMW8tOsZ/k88+tolJ0xlt2X4hL+2wff6rX/rdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91423},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bd5993487c648a5ec2eb1eb91f6cb3a842bc0fea","scripts":{"lint":"eslint src tests","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.1.1_1776462966608_0.6424457545494988","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@saptools/cf-sync","version":"0.2.0","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.2.0","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"7461be7b7104cfde3ab033dc7686facf7e41e7c7","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.2.0.tgz","fileCount":8,"integrity":"sha512-ADQr4hfq1b4pIviF7vEgD8J4s5YDmMXdqJbOoykW4s+21pPvs89WtdeR5vmbYJqqw2Kv1t/pewjB5zAjWBrMZg==","signatures":[{"sig":"MEQCIDQTL1TItVJ8JCYjXJ0LZ5o19IaBO6hx0i8/9lmbgXnFAiAcxBuLLwA2e1ia27iLw3xa6/HQ+zu8P7USZDD2U/Jkvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":180681},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"087c172b412be4ba10715c1d4a3e03bee6a8940d","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.2.0_1776465680104_0.4076959213357101","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@saptools/cf-sync","version":"0.2.1","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.2.1","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"700d2e9ad8b47f922e897cff2409baecf7cda17d","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.2.1.tgz","fileCount":8,"integrity":"sha512-bixWzvtILx0fyv6ZvGWJuNnmkNR60zAsAXTWgwptLv7wXqLeZNRNlI04KNrvW1K/QBTtEr4Ks5co42mUq8RztQ==","signatures":[{"sig":"MEUCIQDlBsNZKenp6fSYh1tN2VcjI9JmmvrBT2o6mJDS7TrZNwIgMOeMuKFEC4FQpPkMn+zdSFCQZnuTM418V0I8fXFJRiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177214},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d912c1fdf7cd69891176cf804cd875c510f1e382","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.2.1_1776478710489_0.40192716435853226","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@saptools/cf-sync","version":"0.3.0","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.3.0","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"8516fa9042ac26f32462eb0ee3ea3068cedc09b5","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.3.0.tgz","fileCount":8,"integrity":"sha512-DIde+ufv+gvG5XHwzF1LpvE/kdZ5hl5hPk9Hg6pxnzWWri2jCoW/DUhyvpTB8/wGwtEY1UK70WLSCPRm3Saiww==","signatures":[{"sig":"MEUCIQCvQDuuBypeNeVSjGL7pZZDnnqYis5r7B21/DtG5SMhkAIgMLJlVN/Gcl8FW3f9MyfCuJwUFYCprNNNFoPx69h5jdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185376},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fb936252efa339b239cddb0aaa87225937facdfa","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.3.0_1776482182522_0.07653442347425532","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@saptools/cf-sync","version":"0.3.1","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.3.1","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"54fc926e6fa639bd19a9ca4a1e20b77769895f7c","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.3.1.tgz","fileCount":8,"integrity":"sha512-zdlNq4r1hUson34b3Crht+T3yGg3L2je+m8XnxDI3MhCf/6SEb43fnUvgIcoOmDRfzje+eSQvRND5cKCNu9BKA==","signatures":[{"sig":"MEQCIFGAfy0iTKymSxHVEEUEIxfTI4wjogc/gWlqbIa+DfVjAiBcbHWnmnvdVMLn6oXIejb5UXT9m3JID04w3fMvrWOPrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":190317},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"18cf295532b9aee78aedbece8b2a5e705c27c8fa","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.3.1_1776488614510_0.8468900063710256","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@saptools/cf-sync","version":"0.3.2","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.3.2","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"86cd95b9da6846250fc68a83ccbf53b671de40be","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.3.2.tgz","fileCount":8,"integrity":"sha512-o8Mmy+PQ6cFp+/vW1ZE357QQAADAil7PrCVjPrxCDMlbqoD61bZNGEx5I1ycU6GDBDwuv5cJTcCxXOhEWAkMIA==","signatures":[{"sig":"MEUCIQDti3SvZNfK0NXjLKkhLY7Qg/5g56g9RpFDVwO4W0cldgIgAbWtD+cDoZiuio/OQX0Q4/2kGsY0njVUvmAUgux+dig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":207340},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7056017c87f4a52c48ef8e8adc4292cf88418162","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.3.2_1776494045106_0.41495929142150345","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@saptools/cf-sync","version":"0.3.3","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.3.3","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"8e5281e0da3fa0def4e45d0dd81b496beacf1854","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.3.3.tgz","fileCount":8,"integrity":"sha512-FSn3Wy+R40oKCMhuyaYee9OyEbFIoT0J1E5TOm7cTf6FagsOXf62jh9apwsps15NIVWTAhraxICTW98wkhdFHw==","signatures":[{"sig":"MEUCIBaPdB0b45dIn+4cS9W50O3iSQMwXoMEp0cEPkeoCmnxAiEA4zDbI0Vp2F4/ORvhpFx3JdNvRcgbrQoZcHOQhBVQ+lU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":214047},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9ea01bad1a17778e84a51512ebef1e93fa3fa2dd","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.3.3_1776496585891_0.11158916341886882","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@saptools/cf-sync","version":"0.3.4","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.3.4","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"6e4da150c120f538316f870126296bbec5208244","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.3.4.tgz","fileCount":9,"integrity":"sha512-46gcfXV5N6Rn3jw8fHQ5kSSIIVGkh8VQ1dP1vP9PESGY3GyMty6lXZoJn4cFUTk0dPLB/kM6LWzJsiCMhe6LNA==","signatures":[{"sig":"MEUCIQDqOTtBOhmyCaX+8bPhEfYRrIznptXnLdDGgUkCOVAH4gIgLEOVUg/48nkwI04mTi7vPrAJ4UmYUkaHmTKt3wEDqYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251771},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"996fc088b28a35d0f4d1843f783c1fcf2fb24a88","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.3.4_1776581413631_0.7241532325832627","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@saptools/cf-sync","version":"0.3.5","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.3.5","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"3dd187da9ed495c68ece2a97a8d5ee901406242c","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.3.5.tgz","fileCount":9,"integrity":"sha512-v+EU2xt9BDw3ALm8zxWACuNDZ+Q5VTJLjkfIoHHDjwJ70xOqljfFj7GyQOJ+8//tKiGFNzyhnw2Xf+RO45j82Q==","signatures":[{"sig":"MEUCICqNh4KEfmwBVBYXqcLkBJOhHxOYc01y6VGssKYL3FQgAiEAsxK9wwQWBeV02ERMIepLiu963/Ilc3s/bK1bRbVFGYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":255599},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"58ac054bb70fa857d77227f423c61b2e50a74801","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry structure (region/org/space/app) to a local JSON file","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.3.5_1776583197460_0.22327241843286005","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@saptools/cf-sync","version":"0.4.0","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.0","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"1198f66e3290f768532a13d375a86ae7cd9738c2","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.0.tgz","fileCount":9,"integrity":"sha512-7aDwKxfTE9o/xRRA+mmARECYJcnSK9yECVAFMh47AUDBreeFjG8PmxrL5IY4LeBMyNMp7kle5pveZDn8oVj5lw==","signatures":[{"sig":"MEUCIF6dFLKWiCT6MBRTuuTcf0Y7YAioJlJbI2JJzee1h6GbAiEAzm9jeDoMd0K/YkXQwvQVE9rLgmL2UYkR911YkutyqvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466924},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7b3a9a2f26ae8c602ae3e42c7a14be122aa0fcfb","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.0_1776997661716_0.9439565266346914","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@saptools/cf-sync","version":"0.4.1","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.1","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"fe322f0d369b1874355e46aee9bdab09f4cd95d2","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.1.tgz","fileCount":9,"integrity":"sha512-mjo4ZUUTRrUDeJgGDnroV98AG07BX3bRzH2E2s7zWDJ5MIYXqCY2SVldNrI+R1DFEGnzlfysYrjjoeRdlgU77Q==","signatures":[{"sig":"MEQCIEtYuhyoKfwzyv1sgE1XO8UirU9eTZalktTb9h6xC1WUAiBfeXaWn5C9oQIoImU4dHumEEriGJ4xrtPNZJHKWkugEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512585},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c02cffaba7420c753467daa8d96c0526750f6cae","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.1_1777257681968_0.2573624966865924","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@saptools/cf-sync","version":"0.4.2","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.2","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"7f71fa7c74ae3c2b6622b9c20d1e112bfacaefea","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.2.tgz","fileCount":9,"integrity":"sha512-vlzSLM8B3ghc8K3uYLZNQRRS346jBV5oitm+zT6GX7TqMZOs/W5wanNjJ+hlHvYKeisAo/QNfh8psCbstw/DAA==","signatures":[{"sig":"MEQCIA7BSG90htxrQ4tthCtLhmLzlvPgh6IEmKXR+3Z4q9ANAiA7eeU0MGJ/FXO8+Wj4tBqB/1qwkj0CguWHUcFeRz4J+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":521529},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"97f57ffeb00ef5552cf238fdb5776d12f2561d11","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.2_1777266375885_0.32122402325958466","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@saptools/cf-sync","version":"0.4.3","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.3","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"756271ee447e44bbeb8544bc7feaa8ecbd8a697e","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.3.tgz","fileCount":9,"integrity":"sha512-46iZ0ab1LkQ/i+NeiVJFYvWw+PHqst/5xzs0Oc1mvNGGtGqgdLbxnGDSJw45JYQfPdefMrGBvRfmSZrEGReGGA==","signatures":[{"sig":"MEQCIBOmmWONhLNydDRpNorBe2V5mLYBNvwHweNwdIQKp6oKAiA7pnnmhNiwAnV4EcrlBo1T0j31Q5JXdxV3SKNRUnbLyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":521504},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"765cd0ce857eedcc60f797b1fe5b37146c278931","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.3_1777472784149_0.8556391921795554","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@saptools/cf-sync","version":"0.4.4","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.4","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"1bec27778f8da0ca66ca11035fc8e05d3249a6a2","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.4.tgz","fileCount":9,"integrity":"sha512-SSzqKT2AVAVPZMXfsuVozGxr5PZN8hGRYYpGohCnyUNAsSST3/UsmI3LW1AMkPoCKwRXJ2ArnO62/R8cqzXjOw==","signatures":[{"sig":"MEUCICyqcSiECAhDFs1QXQI7bGJKieSKLd1qtymtSn047tq9AiEAiy1HuVaC7/Hdiz1zdM4FT3vLBjCc+YbA1199AfCE6bk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522030},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"04265914225b1ba211867c46855908517880e716","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.4_1777695497753_0.9659348720178162","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@saptools/cf-sync","version":"0.4.5","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.5","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"8cf597ce47b89d1f15c4643f14906c3c7f04bb19","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.5.tgz","fileCount":9,"integrity":"sha512-qPuk6eXpbMLWjiWNNwIWRpGLFwNePPTlqyKXhC4BhKbpeA9G3ux3pR/9LYZ4wx6hAcqMzycVlmpJj3tD5E9KlA==","signatures":[{"sig":"MEQCIGxUTU4Qsn9uXN3TOpBtK6qoCQWiBn+CX0X76/F+Zmp8AiBkDgj2jNCEwo22hd97AoAODpGC14ScxiUBdAbYsqgWpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524874},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd2c5aa1dee9d1ef82543c6748ec0683338375c7","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.5_1777710794354_0.36390408805661045","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@saptools/cf-sync","version":"0.4.6","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.6","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"6a5629cb6cb481a33b20d271929a1e9304e64d72","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.6.tgz","fileCount":9,"integrity":"sha512-8AkxWtUAWG41jNK1P1GPCK1C4pmV5iqR25CE9rriuIUolA353hz3JLNea5cNahJJXnENsW36512kn/PRZREk3w==","signatures":[{"sig":"MEYCIQCMIVPWOBmg5SfwJ1i4reGdUa/67NgGOFW00OzrOPuQ1AIhAJaODRbD50FlWNM9vFkRUNaSEDf/BEoFYDbNwbNnOsEX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":531850},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8687ce1ce8917b2048b4675a00268963557a0020","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.6_1778250460844_0.21412800511788022","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@saptools/cf-sync","version":"0.4.7","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.7","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"3afc1bb3fc6ae5145370295abbf0090f81bbb09b","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.7.tgz","fileCount":9,"integrity":"sha512-dNr0KQ4ZIKH23etgo8fJRfXwI4QZUAgj3K2uvPq20vGK/qVkfbHOfV1vcm3SeoBuLgDxtfUOSFB+DK/hGfw+OQ==","signatures":[{"sig":"MEYCIQCxh0VpF/gILwh4eH0HDEXdcncBZm/lPJeMh+mCyBeO+AIhAPFvi7JujhyCJS2NFPyGk5jpxCWg52e4q8QRgY76eyVB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":537849},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"07870b9c53a71ef4d76d5a5484a5603fe29205e0","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.7_1778501772027_0.5412050872446599","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@saptools/cf-sync","version":"0.4.8","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.8","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"8c8f5a30d00602987a59b5af8c089e65ba4c976c","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.8.tgz","fileCount":10,"integrity":"sha512-bp8wNgdzCUH0c1CNrvlGevBGp2BwnC3Y4AHZvTinsH0NyfuAL+HleRdhUTwLX8bnXkDkJhXIL1y5kyjsMYzfUQ==","signatures":[{"sig":"MEQCIAf91n72y01TWuFLD2J2oMURBMwIevQl1BkPwaJZoy0rAiAyFMJ4kwzQtMEWObPEem5InJqEY582fLXb906JXpF0Bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":577665},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6bf5d6c24aad5ad865fc82a4f71512d558d72390","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.8_1778587580393_0.5121824077880104","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@saptools/cf-sync","version":"0.4.9","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.9","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"53c4d67e0db2b75e8db001b7104fd2d3de011bb1","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.9.tgz","fileCount":10,"integrity":"sha512-sXslEYXJmSy2rG42RdFP9Ocq/sresRstXBLAIJ/BzBEzwGMfU46IjjfaR73vgnmQ6uCxagSNTGjPzmKR0rPipw==","signatures":[{"sig":"MEUCIEp/onXVJMCrzGWVH3oFdt62yJovRwm+AeZ/WIDLZYVcAiEA3XJgGiVj62EwFBjAYviJ9InxBS6RvcVqMgK8CeZCJUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":613051},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bcb0943a6267d2ab0e035d26703407c41ed3e750","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.11.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.9_1778651795014_0.8269356863243176","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@saptools/cf-sync","version":"0.4.10","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.10","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"4d7329b64b97ecc64d301d39d6972ff8468dcb97","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.10.tgz","fileCount":10,"integrity":"sha512-jWTJns7CkUNOdsfk4LQ+k32A2l6EulCiJtnREaclLGn0rdG3IB5XDQbE+9iX6myshuVKs7S/Pq2Lf37Ud3BlYg==","signatures":[{"sig":"MEUCIB2ZnmLlIp6O4/FSmfvOgQwBYyzFbNgEIBXIw4NO/42IAiEA5vCb1Ddpo573Kz8/TNCGhDGbFqSBHqiFgSOGFVmT7zg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":613926},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8bc7317c63db0d671620f64a62617434af838818","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.12.1","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.10_1779208460411_0.3811629822320082","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@saptools/cf-sync","version":"0.4.11","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.11","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"0ac8c9432acc3f4f89c5608596178d897167d82d","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.11.tgz","fileCount":10,"integrity":"sha512-95r3v5vGsqahW5huZAdHkhsn96NRc8D9y/o9Xwz/6gwI1vyAeZOEEV+8S98RXOKwbOTf79Vk0r1cvZflxQEq3A==","signatures":[{"sig":"MEYCIQD1XtEbf8SZeXz0DvLJGUOuK2M698XsSV1sw+Me17SqOAIhAM9qEXFbvYekllGTiwq8ohKkG08w/czU4WVW5xersG0b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620296},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"32e3503ac2df653504180799c02f1b6e6fe27a60","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.12.1","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.11_1779456929118_0.18261672769651183","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@saptools/cf-sync","version":"0.4.12","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.12","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"1d1c3d0018d128e3b1883d95baaff83ecc814a9a","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.12.tgz","fileCount":10,"integrity":"sha512-PBToTZjlri5JOOFcpebS5En5rNIKXmVQSKSPjug/tqtubv6Bebhk97HZJIfXAAYx/LJ7eY5OiIaEzXX3BnZ9uA==","signatures":[{"sig":"MEUCIQDr5pj1NLJk+dHPWVJzB8dWmmkbgTd1ynorTMr+bN7bjAIgLxRQm4Z2UAnZZjtFXmM/XLDd6z/j+ZFt9WV1gYiuv5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":625733},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5c5518aa45689a3f7f52078a1927ed1f1a52be84","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.12.1","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.12_1779460135843_0.6593931416974992","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@saptools/cf-sync","version":"0.4.13","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.13","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"3b856fa83db3671037c96a9755f4de6987931fa2","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.13.tgz","fileCount":10,"integrity":"sha512-3YOYT6wfBZNDjMdXoPLkO5jP3Pok15meNeqyhu2WQ+T3PBIkpRCGE9p8p9TcWdQi9CjV2wgdczX2KxW8FRh3Jg==","signatures":[{"sig":"MEQCIF2dlf0Aw5LMdo68bwEwOsOL+62C7fBRK7w07XsyxCUfAiAOZ3+IIt+rlepRpjMaO7lkko6eQ8b+KUESwtJp984gzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":646639},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0d2480e369f16f63c99a84af5048e0730b27f9ee","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.13.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.13_1782456495615_0.29907454241745723","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@saptools/cf-sync","version":"0.4.14","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.14","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"4974fdf0016d21ac37fdfc2687efa0a83946794c","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.14.tgz","fileCount":10,"integrity":"sha512-yasuctP63/S9gECHa7DD3qPUqn4rTndKWRIntUmgHSGPh7F8U8u8uEFSesZHgr49uvMvVDWAg/ffQpIu4NXrWw==","signatures":[{"sig":"MEQCIHInWyuMGYHhh2GVobeZq8yO/f2392bJfTl9PInGabXiAiBjaZoO6h5O1Qbt0udHV0dSMP1HUGj3myQWM6q11mR5CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":646871},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd71c4f9bd5ab9442668c96bcfc18f9a1a84e884","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.13.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.14_1782743560912_0.6838599307586664","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@saptools/cf-sync","version":"0.4.15","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.15","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"874cacd1d15c33a32c1ec84a271605be15951ff1","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.15.tgz","fileCount":10,"integrity":"sha512-MBAzol/jdGVrm34JPJ+TfDIicfPi9kZeoL/qRa+fDV57V59XgjCh0vjwPy617Y9pwwYBudgeOXOFNw7YSzXmZQ==","signatures":[{"sig":"MEUCIQCAezJphoKfbW8ORPgBSWJiqEoYIjanKhC+tn4LsTqcGwIgJYx2Jgz+adF53W3cHFQCyP0UJkW4MALuauFlYxqWGxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":642616},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"29ff9eb5a6a6f321f85f733738dab227b574c74e","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.13.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.15_1782831505770_0.6981615898642286","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"@saptools/cf-sync","version":"0.4.16","keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","_id":"@saptools/cf-sync@0.4.16","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"bin":{"cf-sync":"dist/cli.js"},"dist":{"shasum":"774b2ee90db72b2338ec53ea9284ac54cdaf6217","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.4.16.tgz","fileCount":10,"integrity":"sha512-DzbeKzSOmiHFHarelOHKT+g0MAxnNxWGfrfmEXMcA9dgroFR1RGy1yWpubtRnmt0z8WUJH6Pvzr3rnG2oQfGTQ==","signatures":[{"sig":"MEUCIHwz4vEHNmuKov6Dbxvv8+KhsEAMvUSkLtIYlgVFse3nAiEAxrHuB9t+00h903CvwiK/eqzkKJBDcQqwRtawA/IX8oM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.4.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":642646},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1b97d54eb6eaadc370aff302d543ea20ddffb278","scripts":{"lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","build":"tsup","test:e2e":"playwright test","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"repository":{"url":"git+https://github.com/dongitran/saptools.git","type":"git","directory":"packages/cf-sync"},"_npmVersion":"11.16.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^9.3.0","commander":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3.0.0","@playwright/test":"^1.50.0","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cf-sync_0.4.16_1784165461713_0.26957903559773455","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@saptools/cf-sync","version":"0.5.0","description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","type":"module","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"bin":{"cf-sync":"dist/cli.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"engines":{"node":">=20.0.0"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit","lint":"eslint src tests --ignore-pattern tests/e2e/fixtures/fake-cf.mjs","test:unit":"vitest run --coverage","test:e2e":"playwright test","test:e2e:fake":"playwright test tests/e2e/db-sync.e2e.ts tests/e2e/runtime.e2e.ts tests/e2e/regions.e2e.ts tests/e2e/failures.e2e.ts","test:e2e:live":"playwright test tests/e2e/sync.e2e.ts"},"keywords":["sap","cloud-foundry","btp","cli","saptools"],"author":{"name":"Dong Tran"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/dongitran/saptools.git","directory":"packages/cf-sync"},"homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","bugs":{"url":"https://github.com/dongitran/saptools/issues"},"dependencies":{"commander":"^13.0.0","ora":"^9.3.0"},"devDependencies":{"@playwright/test":"^1.50.0","@saptools/core":"workspace:*","@vitest/coverage-v8":"^3.0.0","tsup":"^8.3.0","vitest":"^3.0.0"},"gitHead":"a48a6258002c49a6ec4ab8d99b9ea3ec0e67b1b4","_id":"@saptools/cf-sync@0.5.0","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-bMRC3rw+nyzG9j00nWDNUMdWMfx80NIF/ruwoJH4SCJLpHMBzQKPA+lCDwm9h3nWGSJEmGrGTPV/Sr1M2aK5Qg==","shasum":"c225a42f2430a8c46f5df653177b3ed54c458b36","tarball":"https://registry.npmjs.org/@saptools/cf-sync/-/cf-sync-0.5.0.tgz","fileCount":10,"unpackedSize":776371,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@saptools%2fcf-sync@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC3AdWfMV8sZzI9IDP0ImUoILUPNg/sjfmucSm1/3hUHAIgDgjoqvpMy6qvZPqLvE96Lt1Drox4UIXGFnNc9JWJRkA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfe2769-b375-41a7-9a35-35df9993912a"}},"directories":{},"maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cf-sync_0.5.0_1788336515579_0.2192810039266757"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T21:30:49.043Z","modified":"2026-09-02T08:08:36.135Z","0.1.0":"2026-04-17T21:30:49.316Z","0.1.1":"2026-04-17T21:56:06.768Z","0.2.0":"2026-04-17T22:41:20.250Z","0.2.1":"2026-04-18T02:18:30.623Z","0.3.0":"2026-04-18T03:16:22.697Z","0.3.1":"2026-04-18T05:03:34.645Z","0.3.2":"2026-04-18T06:34:05.257Z","0.3.3":"2026-04-18T07:16:26.087Z","0.3.4":"2026-04-19T06:50:13.774Z","0.3.5":"2026-04-19T07:19:57.616Z","0.4.0":"2026-04-24T02:27:41.892Z","0.4.1":"2026-04-27T02:41:22.106Z","0.4.2":"2026-04-27T05:06:16.041Z","0.4.3":"2026-04-29T14:26:24.344Z","0.4.4":"2026-05-02T04:18:17.944Z","0.4.5":"2026-05-02T08:33:14.495Z","0.4.6":"2026-05-08T14:27:41.003Z","0.4.7":"2026-05-11T12:16:12.187Z","0.4.8":"2026-05-12T12:06:20.552Z","0.4.9":"2026-05-13T05:56:35.180Z","0.4.10":"2026-05-19T16:34:20.571Z","0.4.11":"2026-05-22T13:35:29.257Z","0.4.12":"2026-05-22T14:28:56.012Z","0.4.13":"2026-06-26T06:48:15.744Z","0.4.14":"2026-06-29T14:32:41.089Z","0.4.15":"2026-06-30T14:58:25.905Z","0.4.16":"2026-07-16T01:31:01.858Z","0.5.0":"2026-09-02T08:08:35.696Z"},"bugs":{"url":"https://github.com/dongitran/saptools/issues"},"author":{"name":"Dong Tran"},"license":"MIT","homepage":"https://github.com/dongitran/saptools/tree/main/packages/cf-sync#readme","keywords":["sap","cloud-foundry","btp","cli","saptools"],"repository":{"type":"git","url":"git+https://github.com/dongitran/saptools.git","directory":"packages/cf-sync"},"description":"Sync SAP BTP Cloud Foundry topology and HANA DB bindings to local package-managed JSON files","maintainers":[{"name":"dongtran","email":"thiendong.iuh@gmail.com"}],"readme":"<div align=\"center\">\n\n# ☁️ `@saptools/cf-sync`\n\n**Map your SAP BTP Cloud Foundry topology and HANA app bindings into package-managed JSON files.**\n\nWalk every region, org, space, and app you have access to, cache the topology, then optionally collect app-level HANA credentials in a background sync — no more juggling `cf target` or hand-running `cf env`.\n\n[![npm version](https://img.shields.io/npm/v/@saptools/cf-sync.svg?style=flat&color=CB3837&logo=npm)](https://www.npmjs.com/package/@saptools/cf-sync)\n[![license](https://img.shields.io/npm/l/@saptools/cf-sync.svg?style=flat&color=blue)](./LICENSE)\n[![node](https://img.shields.io/node/v/@saptools/cf-sync.svg?style=flat&color=339933&logo=node.js&logoColor=white)](https://nodejs.org)\n[![install size](https://packagephobia.com/badge?p=@saptools/cf-sync)](https://packagephobia.com/result?p=@saptools/cf-sync)\n[![types](https://img.shields.io/npm/types/@saptools/cf-sync.svg?style=flat&color=3178C6&logo=typescript&logoColor=white)](https://www.typescriptlang.org)\n\n[Install](#-install) • [Quick Start](#-quick-start) • [CLI](#-cli) • [FAQ](#-faq)\n\n</div>\n\n---\n\n## ✨ Features\n\n- 🌍 **Full-landscape sync** — logs into CF once, walks **region → org → space → app** across every region you can reach\n- 🟢 **App runtime metadata** — snapshots include requested state, instance counts, and routes from `cf apps`\n- ⚡ **Partial + streaming reads** — `read` / `regions` / `region` commands return whatever is already known, even while a long sync is in progress\n- 🧭 **Region org refresh** — `orgs` refreshes one region's org list without walking spaces or apps\n- 🗄️ **Background DB binding sync** — `db-sync` can collect `VCAP_SERVICES.hana` credentials for every cached app or one app selector in the background\n- 🧠 **Smart fallbacks** — runtime state first, last stable snapshot next, on-demand fetch as a last resort\n- 🧩 **CLI & typed API** — every command has a zero-config Node.js equivalent with full TypeScript definitions\n- 📦 **Drop-in for other saptools** — the output file is the shared source of truth for packages like [`@saptools/cf-xsuaa`](https://www.npmjs.com/package/@saptools/cf-xsuaa)\n- 🪶 **Small + boring** — two deps (`commander`, `ora`), one-shot background workers only when requested, no resident daemon\n\n---\n\n## 📦 Install\n\n```bash\n# Global CLI\nnpm install -g @saptools/cf-sync\n\n# Or as a dependency\nnpm install @saptools/cf-sync\n# pnpm add @saptools/cf-sync\n# yarn add @saptools/cf-sync\n```\n\n> [!NOTE]\n> Requires **Node.js ≥ 20** and the official **`cf` CLI** on `PATH` (v8 recommended).\n\n---\n\n## Updates\n\nEvery command first checks npm for a newer `@saptools/cf-sync` (at most once an hour, one small request\nwith a 2-second timeout) and, when one exists, installs that exact version with the package manager\nthat owns the running binary and re-runs the command you typed on the new version. Both steps are\nannounced on stderr; nothing is printed when the install is already current:\n\n```text\ncf-sync: updating 0.5.0 -> 0.6.0 ...\ncf-sync: updated to 0.6.0; re-running the command\n```\n\nIf the install cannot complete, one stderr line gives the manual command and the command runs on the\ninstalled version; that version is not retried for a day. `cf-sync self-update` forces the check and\ninstall now; `cf-sync self-update --check` only reports.\n\n| Control | Effect |\n| --- | --- |\n| `SAPTOOLS_AUTO_UPDATE=on\\|notify\\|off` | `on` (default) installs and re-runs; `notify` prints the manual command once per version; `off` never checks. Applies to every `@saptools` CLI. |\n| `CF_SYNC_AUTO_UPDATE` | same values, this CLI only; wins over the global variable |\n| `SAPTOOLS_UPDATE_INTERVAL_MINUTES` | minutes between checks (default `60`; `0` checks on every run) |\n| `SAPTOOLS_NPM_REGISTRY` | registry to check and install from (default: npm's configured registry, then npmjs) |\n| `SAPTOOLS_UPDATE_DEBUG=1` | explain on stderr why nothing happened |\n\nThe updater switches itself off in CI (`CI` set), under `NODE_ENV=test` or `NO_UPDATE_NOTIFIER`, when\nthe binary runs from a source checkout, an `npm link` or an `npx` cache, and inside the re-run itself.\nIt never writes to stdout, never asks for input, never uses `sudo`, and never moves onto a prerelease.\nIts state lives in `~/.saptools/updates/`.\n\n## 🚀 Quick Start\n\n```bash\n# 1. Export your SAP SSO credentials (only used during sync)\nexport SAP_EMAIL=\"you@company.com\"\nexport SAP_PASSWORD=\"your-sap-password\"\n\n# 2. Sync every accessible region in parallel\ncf-sync sync --verbose\n\n# 3. Read the topology snapshot back from anywhere — CLI, script, or Node process\ncf-sync read | jq '.regions[] | {key, accessible}'\n\n# 4. Optionally collect HANA DB bindings for every cached app in the background\ncf-sync db-sync\ncf-sync db-read | jq '.metadata'\n```\n\nAfter the first topology sync, `~/.saptools/cf-structure.json` is ready for the rest of your tooling. If you run `db-sync`, the HANA binding snapshot is stored separately.\n\n---\n\n## 🧰 CLI\n\n### 🔄 `cf-sync sync`\n\nRun a live sync and write a topology snapshot. A full sync replaces the snapshot; `--only` refreshes the listed regions and merges them into the existing snapshot without removing other cached regions.\n\n```bash\ncf-sync sync\ncf-sync sync --verbose\ncf-sync sync --no-interactive\ncf-sync sync --only ap10,ap11,eu10\n```\n\n| Flag | Description |\n| --- | --- |\n| `--verbose` | Print progress lines |\n| `--no-interactive` | Disable the spinner (use in CI) |\n| `--only <keys>` | Sync only the listed region keys |\n\n### 📖 `cf-sync read`\n\nPrint the best-available full structure as JSON — **always succeeds as long as something has been synced before.**\n\n- Returns runtime state while a sync is in progress\n- Falls back to the last stable snapshot otherwise\n\n```bash\ncf-sync read\n```\n\n### 🗺️ `cf-sync regions`\n\nPrint the list of regions (key + label + endpoint + accessibility).\n\n- Returns the default SAP CF catalog while a first sync is still running\n- Returns only synced regions with orgs once a snapshot exists\n\n```bash\ncf-sync regions\n```\n\n### 🎯 `cf-sync region <key>`\n\nPrint one region as JSON, fetching it on demand if it's missing.\n\n```bash\ncf-sync region eu10\ncf-sync region eu10 --no-refresh\n```\n\n| Flag | Description |\n| --- | --- |\n| `--no-refresh` | Read cached data only, never call CF |\n\n> [!TIP]\n> `cf-sync region <key>` is the fastest way to answer *\"what's in just this region right now?\"* without walking everything.\n\n### 🧭 `cf-sync orgs <region>`\n\nRefresh only the Cloud Foundry org names for one region and merge that list back into the shared topology snapshot.\n\n- Updates only the requested region\n- Preserves cached spaces/apps for orgs that still exist\n- Removes stale org entries from that region only\n- Adds newly discovered orgs with empty `spaces` until a targeted org, space, or full sync fills them in\n- Uses an isolated `CF_HOME`, so it does not clobber your interactive CF CLI target\n\n```bash\ncf-sync orgs ap10\ncf-sync orgs eu10 --verbose\n```\n\n### 🧭 `cf-sync org <region> <org>`\n\nRefresh exactly one Cloud Foundry org and merge every refreshed space/app in that org back into the shared topology snapshot.\n\n- Updates only the requested `region/org`\n- Preserves sibling orgs and regions already present in the snapshot\n- Fails without changing the stable snapshot when the requested org cannot be targeted\n- Uses an isolated `CF_HOME`, so it does not clobber your interactive CF CLI target\n\n```bash\ncf-sync org ap10 my-org\ncf-sync org eu10 my-org --verbose\n```\n\n### 🔁 `cf-sync space <region> <org> <space>`\n\nRefresh exactly one Cloud Foundry space and merge the latest app metadata back into the shared topology snapshot.\n\n- Updates only the requested `region/org/space`\n- Preserves sibling orgs and spaces already present in the snapshot\n- Uses an isolated `CF_HOME`, so it does not clobber your interactive CF CLI target\n- Can run while a full `cf-sync sync` is active; the merge is serialized through the same runtime-state lock\n\n```bash\ncf-sync space ap10 my-org dev\ncf-sync space eu10 my-org app --verbose\n```\n\n### 🗄️ `cf-sync db-sync [selector]`\n\nStart a detached background worker that collects `VCAP_SERVICES.hana` credentials.\n\n- with no selector: sync every app in the cached topology snapshot\n- with `<app>`: sync one uniquely named app from the cached topology snapshot\n- with `region/org/space/app`: sync one explicit app even if no topology snapshot exists yet\n\n```bash\ncf-sync db-sync\ncf-sync db-sync orders-srv\ncf-sync db-sync ap10/my-org/dev/orders-srv\n```\n\n> [!IMPORTANT]\n> `cf-sync db-sync` persists HANA credentials to local disk under `~/.saptools/`. Treat that file like a secret.\n\n### 📚 `cf-sync db-read [selector]`\n\nRead the best available HANA binding snapshot as JSON.\n\n- `cf-sync db-read` returns the full runtime/stable DB snapshot view\n- `cf-sync db-read <selector>` returns one app binding view\n\n```bash\ncf-sync db-read\ncf-sync db-read orders-srv\ncf-sync db-read ap10/my-org/dev/orders-srv\n```\n\n---\n\n## 📁 Output Files\n\nAll state lives under your home directory:\n\n```text\n~/.saptools/cf-structure.json     # last successful full sync (stable)\n~/.saptools/cf-sync-state.json    # active runtime state, partial reads, sync metadata\n~/.saptools/cf-sync-history.jsonl # append-only timeline of sync milestones for debugging\n~/.saptools/cf-db-bindings.json   # last successful HANA binding snapshot (contains credentials)\n~/.saptools/cf-db-sync-state.json # active DB binding runtime state\n~/.saptools/cf-db-sync-history.jsonl # append-only DB sync milestones\n```\n\n`cf-sync-history.jsonl` is newline-delimited JSON. Each entry records a timestamped milestone such as lock acquisition, region traversal, runtime merges, recoveries, and final completion/failure so you can reconstruct where a sync got stuck.\n\n`cf-db-bindings.json` is also newline-free JSON, but unlike the topology files it contains HANA credentials. Do not commit it, attach it to tickets, or paste it into logs.\n\n<details>\n<summary><b>🔬 Shape of <code>cf-structure.json</code></b></summary>\n\n```jsonc\n{\n  \"syncedAt\": \"2026-04-18T00:00:00Z\",\n  \"regions\": [\n    {\n      \"key\": \"ap10\",\n      \"label\": \"Singapore\",\n      \"apiEndpoint\": \"https://api.cf.ap10.hana.ondemand.com\",\n      \"accessible\": true,\n      \"orgs\": [\n        {\n          \"name\": \"my-org\",\n          \"spaces\": [\n            {\n              \"name\": \"dev\",\n              \"apps\": [{ \"name\": \"my-srv\" }]\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\n</details>\n\n> [!IMPORTANT]\n> Prefer the CLI read commands or the exported APIs over parsing these files directly — the on-disk format is an implementation detail.\n\n---\n\n## ❓ FAQ\n\n<details>\n<summary><b>Do I have to re-enter my SAP credentials for every read?</b></summary>\n\nNo. `SAP_EMAIL` / `SAP_PASSWORD` are only used during `sync`, `db-sync`, and `cf-sync region <key>` when the region is missing locally. Pure read commands work offline.\n\n</details>\n\n<details>\n<summary><b>How often should I sync?</b></summary>\n\nAs often as your CF topology changes in a way you care about — usually daily or weekly is plenty. `cf-sync sync --only ap10,eu10` keeps hot regions fresh without walking everything.\n\n</details>\n\n<details>\n<summary><b>Is the output file safe to commit?</b></summary>\n\n`cf-structure.json` does not contain secrets, but it **does** list every org, space, and app you can reach — so it leaks your landscape's structure. Keep it out of public repos.\n\n`cf-db-bindings.json` is more sensitive: it contains HANA credentials by design. Treat it like a secret and never commit it.\n\n</details>\n\n<details>\n<summary><b>How does this compare to <code>cf orgs</code> / <code>cf spaces</code>?</b></summary>\n\nThose commands only act on the **currently targeted** region/org. `cf-sync` walks every region in one pass and gives you a unified, cached view — which is what every other saptools package consumes.\n\n</details>\n\n---\n\n## 🛠️ Development\n\nFrom the monorepo root:\n\n```bash\npnpm install\npnpm --filter @saptools/cf-sync build\npnpm --filter @saptools/cf-sync typecheck\npnpm --filter @saptools/cf-sync test:unit\npnpm --filter @saptools/cf-sync test:e2e\n```\n\nThe e2e suite hits live SAP BTP CF. Set `CF_SYNC_E2E_ONLY=ap10,eu10` (plus `SAP_EMAIL` / `SAP_PASSWORD`) to restrict the regions it walks in CI.\n\n---\n\n## 🌐 Related\n\n- 🔐 [`@saptools/cf-xsuaa`](https://www.npmjs.com/package/@saptools/cf-xsuaa) — fetch XSUAA credentials and cached OAuth2 tokens for any CF app\n- 🗂️ [saptools monorepo](https://github.com/dongitran/saptools) — the full toolbox\n\n---\n\n## 👨‍💻 Author\n\n**dongtran** ✨\n\n## 📄 License\n\nMIT\n\n---\n\nMade with ❤️ to make your work life easier!\n","readmeFilename":"README.md"}