{"_id":"@dan-online/bunnycdnjs","_rev":"1-b14a5302df5a0a599a786ea58dc2cd03","name":"@dan-online/bunnycdnjs","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.7":{"name":"@dan-online/bunnycdnjs","version":"1.0.7","description":"Tool for BunnyCDN","main":"dist/index.js","scripts":{"build":"tsc -p .","start":"node .","test":"node dist/index.test.js"},"repository":{"type":"git","url":"git+https://github.com/iKaio/bunnyjs.git"},"keywords":["bunnycdn","cdn"],"author":{"name":"iKaio"},"license":"ISC","bugs":{"url":"https://github.com/iKaio/bunnyjs/issues"},"homepage":"https://github.com/iKaio/bunnyjs#readme","devDependencies":{"@types/node":"^16.11.6","@types/request":"^2.48.7","typescript":"^4.4.4"},"dependencies":{"request":"^2.88.2"},"types":"./dist/index.d.ts","gitHead":"a0ccfdd848d18cccb67c9220156fa10f9ddd29e7","_id":"@dan-online/bunnycdnjs@1.0.7","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-AowsdeSaFwOD8IxKsNWVgvcyEDpeYk/YvpxHjj4241bGIvi4A1rdfLHCd1JcMea3pYelMS1WRqUCqq2I18eF9Q==","shasum":"9a5a1a2edbcded223024bd51d58754002ab9a722","tarball":"https://registry.npmjs.org/@dan-online/bunnycdnjs/-/bunnycdnjs-1.0.7.tgz","fileCount":22,"unpackedSize":53660,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEureIrITKdiazzvm2urn2PuUjaQQ9/4KkrR7VUGM7NhAiEAhKnwxarCy7Pyk11gMtEx5VR+/Jip+UNmv8SEitclkjw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihPO4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqlLA//R8MwE6iPtx59HaJYdapa+nQLhzjjlt9Ln+G1Frp/Z+pZdJlb\r\nhZbrQYiLF1WsUjYt+2yZXtBtBWHihfTgKYgjlEdbuLTLGQokVfygC/88rhWB\r\nooRyLljWCW2Dhs1MsXiJvsDD2kMqTR+K/XySTKrO2qrNtSMSLF4BxnWVQaay\r\nnTqtsuD9IQb3RRyD3BsbUAFpotegNolYqWozX/wu3uh1K8f8s451YflG84Gi\r\nM2o5j26ez+E98uGNvmiSQLZTfty6rSPElknD5OmD3oRiUOBULdKzI7U3MnBS\r\n6XrfvlMdOAZZRp6Nt2Erzp+HQWrVTddiOfiTIk9tWHStxHUbNrJOhmaKcikD\r\nCuk8/okdYYPCKsg5HTe6T5mjACKy1GvkfCuaddaJ5qbObxqC2FC6bHP91stN\r\n0S5BbvXO7IjAI9UyJfO0DW3mRffqYatGXTtKAkGRr1X2ZtkQz5AhNoTTR72u\r\nEeD0a+8ZsbZkWRaU61kfjBSjvrd8YFDqjrCR+h+dj7XLRkQV1NUwGbYkTGTM\r\nRP9WGrC7O3b5gaZxesIHRyhrjl1yi0rG8EVj8/Wgs29hJq2BzfGqsOL7p60W\r\nTnfXp3HDrEWilEeIPDd3VRBOhu8wJDFlT9TWSQvRCNItZpVzWZjBRxcUmuDN\r\nHbmMJNZ4Jg5aa1WJ2KpC426iwnurFFw2LPQ=\r\n=0JoH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dan-online","email":"dan@dancodes.online"},"directories":{},"maintainers":[{"name":"dan-online","email":"dan@dancodes.online"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bunnycdnjs_1.0.7_1652880312580_0.43024207894199895"},"_hasShrinkwrap":false},"1.0.8":{"name":"@dan-online/bunnycdnjs","version":"1.0.8","description":"Tool for BunnyCDN","main":"dist/index.js","scripts":{"build":"tsc -p .","prepublish":"yarn build","start":"node .","test":"node dist/index.test.js"},"repository":{"type":"git","url":"git+https://github.com/iKaio/bunnyjs.git"},"keywords":["bunnycdn","cdn"],"author":{"name":"iKaio"},"license":"ISC","bugs":{"url":"https://github.com/iKaio/bunnyjs/issues"},"homepage":"https://github.com/iKaio/bunnyjs#readme","devDependencies":{"@types/node":"^16.11.6","@types/request":"^2.48.7","typescript":"^4.4.4"},"dependencies":{"request":"^2.88.2"},"types":"./dist/index.d.ts","gitHead":"a0ccfdd848d18cccb67c9220156fa10f9ddd29e7","_id":"@dan-online/bunnycdnjs@1.0.8","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-c1flNeOk3tCyBCtz10PeYVcT7Eb8QNihMRnNofAJQzIDPcGeOsWYTa5rg4eHDRlivzad8uVty9eHoWLMd0QE5g==","shasum":"d03d79c6fab11aa90f45a6d46d87756041ff780c","tarball":"https://registry.npmjs.org/@dan-online/bunnycdnjs/-/bunnycdnjs-1.0.8.tgz","fileCount":22,"unpackedSize":53773,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC56CF0oHEw6A7v8SuFueU0DOW4wHM7uiV30eCw/qNVrAiEAxXZAiftto9/ZDXqlgc9VnlY+4eG7UhKSm3Bzw7TxygQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihPRFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTOg//b6Nydvi2Jyi/vI9Imp6Bg0WL3pMVVdTQh3TLGTd2EZhaP0Jp\r\nfx7WbCMHfOuz6xFCf60YBEwlZ1oWKtGufHjdWvy7ECIkVhenTzD+/wLO1ceh\r\nh6IQVz+twtdtt0cqn4+21MWLffMNu63SDctD5us5So/chvfnccTOx3dvv6nk\r\nVoOkpHnzhfq5NbQTovG/+4MeCJF1VXNdZiumUSQHMsUNJXYwOnJ+Pl3RPiUj\r\n4/rFFrdqhcprUYFUx/ikqH28ksEiSAAH2cytYowrOMYq6ooOzynxfa7N4moT\r\nQPJX998spA8hFHKDsNlSarWDldX3YQmdx8IeBQ8OfcMbM73O6oFlkgvtjgS1\r\n5yDQmyIMyOMNgx1BAbbN0wU5gD2Ld3/WHcet2o0bfCLGgBxa79VwujNjTdQH\r\n8dZrFYhXHWyykPthNb5aTrIIfI8w0/hBCfht5a9Kw9qnKBM+2VmLxfR/TEk3\r\nS2gOVhcN+Rfcy7Pm6FQXdPB2F9YKfY46gSv0vbh4Liy9TYVP+7i+tXgXxic9\r\n3YwCWRApHMwRjfWumkX+z6soZelTbHxjKQsMl/2PUE4XA67UnbarF2j41ecm\r\n04O7fb52ndkVfrEMYAV9p7Cb5r9ajl5MzCkdW9TXeb7KcbZYeDKVhWJGdfRX\r\noY0cifJu1LJhvX4pRPZNrw3raWXFqtZVLcQ=\r\n=CBVP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dan-online","email":"dan@dancodes.online"},"directories":{},"maintainers":[{"name":"dan-online","email":"dan@dancodes.online"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bunnycdnjs_1.0.8_1652880452882_0.926683096577168"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-18T13:25:12.512Z","1.0.7":"2022-05-18T13:25:12.780Z","modified":"2022-05-18T13:27:33.146Z","1.0.8":"2022-05-18T13:27:33.038Z"},"maintainers":[{"name":"dan-online","email":"dan@dancodes.online"}],"description":"Tool for BunnyCDN","homepage":"https://github.com/iKaio/bunnyjs#readme","keywords":["bunnycdn","cdn"],"repository":{"type":"git","url":"git+https://github.com/iKaio/bunnyjs.git"},"author":{"name":"iKaio"},"bugs":{"url":"https://github.com/iKaio/bunnyjs/issues"},"license":"ISC","readme":"# BunnyJS / BunnyCDNJS\n\nis a unoficial NodeJS client for the BunnyCDN API.\n\nWhy @dan-online/bunnycdnjs? I had to add the \"Uk\" location\n\n# Why ?\n\nI always use BunnyCDN in my projects, but there's no oficial library for NodeJS, so i decide to make my own.\n\n# Installation\n\nWith NPM:\n\n```cli\nnpm i bunnycdnjs\n```\n\nyarn soon, sorry\n\n# Get started\n\nUsing Require:\n\n```js\nconst { BunnyStorageClient } = require(\"bunnycdnjs\");\n```\n\nUsing Import:\n\n```ts\nimport { BunnyStorageClient } from \"bunnycdnjs\";\n```\n\n# Create Storage\n\nYou can find your apiKey at: `FTP & API Access > Password`\n\n```js\nconst CDN = new BunnyStorageClient({\n  apiKey: process.env.BUNNY_STORAGE_PASSWORD_KEY, // eg: \"515qdnsd-3ghc-1c43-bd339jff9ga7-cd89-4b6f\"\n  storageZoneName: \"myassets\",\n  cdnLocation: \"New York\",\n});\n```\n\n# List Usage\n\n```js\nasync function ListMyStorageRootFolder() {\n  let RootFiles = await CDN.List(\".\");\n\n  if (RootFiles.Data) {\n    for (const File of RootFiles.Data) {\n      console.log(`Name: ${File.ObjectName} Size: ${File.Length}`);\n    }\n  } else if (RootFiles.Error) {\n    console.log(RootFiles.Error);\n  }\n}\n\nListMyStorageRootFolder();\n```\n\n# Download Usage\n\n```js\nasync function SaveMyAssetsLocally() {\n  let AssetsFiles = await CDN.List(\"Assets\");\n\n  if (AssetsFiles.Data) {\n    for (const File of AssetsFiles.Data) {\n      await CDN.Download(\"Assets\", File.ObjectName);\n      // Saved at: downloads/Assets\n\n      // OR\n\n      await CDN.Download(\"Assets\", File.ObjectName, \"media\", File.ObjectName);\n      // Saved at: media\n    }\n  } else if (AssetsFiles.Error) {\n    console.log(AssetsFiles.Error);\n  }\n}\n\nSaveMyAssetsLocally();\n```\n\n# Upload Usage\n\n```js\nasync function SaveMyAssetsRemotelly() {\n  let LocalAssetsFiles = fs.readdirSync(\"LocalAssets\");\n\n  for (const FileName of LocalAssetsFiles) {\n    let content = fs.createReadStream(\"LocalAssets/\" + FileName);\n    let uploadResult = await CDN.Upload(\"Assets\", FileName, content);\n\n    if (uploadResult.Error) {\n      console.log(FileName, \"upload failed\");\n    }\n  }\n}\n\nSaveMyAssetsRemotelly();\n```\n\n# Delete Usage\n\n```js\nasync function ClearMyRemoteAssetsFolder() {\n  let AssetsFiles = await CDN.List(\"Assets\");\n\n  if (AssetsFiles.Data) {\n    for (const File of AssetsFiles.Data) {\n      let deleteResult = await CDN.Delete(\"Assets\", File.ObjectName);\n\n      if (deleteResult.Error) {\n        console.log(\"delete\", File.ObjectName, \"failed\");\n      }\n    }\n  } else if (AssetsFiles.Error) {\n    console.log(AssetsFiles.Error);\n  }\n}\n\nClearMyRemoteAssetsFolder();\n```\n","readmeFilename":"README.md"}