{"_id":"@microsoft/vscode-file-downloader-api","_rev":"75-9767be64883decf236c17774d867006c","name":"@microsoft/vscode-file-downloader-api","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@microsoft/vscode-file-downloader-api","version":"1.0.0","author":{"name":"mindaro"},"license":"MIT","_id":"@microsoft/vscode-file-downloader-api@1.0.0","maintainers":[{"name":"microsoft","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/microsoft/vscode-file-downloader-api#readme","bugs":{"url":"https://github.com/microsoft/vscode-file-downloader-api/issues"},"dist":{"shasum":"445dd604d91dc70d6cb88a92a48a68f81ade417b","tarball":"https://registry.npmjs.org/@microsoft/vscode-file-downloader-api/-/vscode-file-downloader-api-1.0.0.tgz","fileCount":5,"integrity":"sha512-dhiVkLdIoYUIFhGZQyReHw7FNlmIVi1dam3cT3Ne3XEFpfEH2D1cnfBDPcGDrJmheMHptpIoRN6EV8rEdfFOQA==","signatures":[{"sig":"MEUCIHfelJlmRoeQtQbrpamG3xhiJKZQv3haOHj4o3dKvmw7AiEA4kSzjigsNF/A4gkrfzQWCXe+GMP4XLztapbHpyleJrk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDNnYCRA9TVsSAnZWagAAdDkP/3ySFqAb9iQ3jh1bgSfd\nPcoctlYNG26trcVu8v+5+ziiqsnqZoiZEZX7GYyPeiUuotVxaW7TISz02Vs0\n8m0bUI18Tc4+XPGjGMYSaq4ZCKZvCghGc4AvAGxs73ClLS7mFHK0ZVClXlKC\nl71khiH8oUGp53YtNsWHpMDEQ4svMCzRZiwRp63AFZvpsrpeyQe0mwdOFmcG\nDPrjtKODRS+bCSmY/SnewiEda/8KGal750I3Q5YMG3D2A1R8gMNYOMNM2Sy3\nWQeo33o57eIqQ6rt+sIHym/ySUcEJxCc9YDdBJqWSm430APTWdcyDq1r/jc6\nSrm9+rbEXDCcD/Q7MiXtaQ18I/2sSXzbIE4h5A3un4eBKJ6OozurZWyo02mL\n1aEGo4NJyW5w7Me+d5I3h/3l1apFjxppsKNxfLKEhkufEvKbfg4mid9DvnUD\nmLv5eAY/kLwtWCk+/ZbV/cVsTh63Zvs3kJdhhVHhlSYtJD/79Rx0sS8Pk5hG\nB7sb+N8fQPKyZ6u7JcZVi9sk7X0B9HSDHZg4o9zfWs8hIwZjkTXnRj4zlI61\nA2Jplxk2aRiFZugt2Lz5pMU+eG39JdgwtVGxfeCp/1tWS+NN6Y4fgyt+M5Vd\n7m66mCq66PM/S+MPgAZ4Ms/kI4EwHJEW+2RBHLWUD7pNDLOqwnos2U0Qxpaw\nyIHI\r\n=t2nK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./out/index.js","gitHead":"9069cb8407c55f379288c7ceca76ac43165f8c66","scripts":{"lint":"eslint src --ext ts","compile":"tsc -p ./"},"_npmUser":{"name":"microsoft","email":"npmjs@microsoft.com"},"repository":{"url":"git+https://github.com/microsoft/vscode-file-downloader-api.git","type":"git"},"_npmVersion":"6.14.6","description":"Wrapper package for the VS Code File Downloader extension","directories":{},"_nodeVersion":"12.16.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.3.1","typescript":"^3.5.3","@types/node":"^12.8.1","@types/vscode":"^1.41.0","eslint-plugin-jsdoc":"^25.4.1","eslint-plugin-import":"^2.20.2","@typescript-eslint/parser":"^3.4.0","eslint-plugin-prefer-arrow":"^1.2.1","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vscode-file-downloader-api_1.0.0_1594677719663_0.555510497503001","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@microsoft/vscode-file-downloader-api","version":"1.0.1","author":{"name":"mindaro"},"license":"MIT","_id":"@microsoft/vscode-file-downloader-api@1.0.1","maintainers":[{"name":"daniv-msft","email":"daniv@microsoft.com"},{"name":"microsoft","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/microsoft/vscode-file-downloader-api#readme","bugs":{"url":"https://github.com/microsoft/vscode-file-downloader-api/issues"},"dist":{"shasum":"2039a5f6a3c1e6fe39d76ad621457d40e3bce757","tarball":"https://registry.npmjs.org/@microsoft/vscode-file-downloader-api/-/vscode-file-downloader-api-1.0.1.tgz","fileCount":11,"integrity":"sha512-cO9n/IpTMbXizz5YcEkiuRyX5r66SBY/3LnrlroyXbQXrgDdaKecfV3n4viTcvp9O//QF2AxcBfDZex2d4VSTg==","signatures":[{"sig":"MEUCIBSptOt8Ky9VyjfN8m/WqCbINZt+PFPphgY/YXUXyXCxAiEApZPfW7MIaFsF7OAyq1anUxDLZvZZsWnb4E7xX+lWUM4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDeiCCRA9TVsSAnZWagAAS1sQAIKDUjSiUyfGJ23mS/nr\nJFSxUqbnT8XVxutVekAUAfIpT/ZjoI8mymeCaQT0Gvo5AMgZcA0/Y1V8PDS1\nuSLVvM3AQOMtcytUuMQ+irYaxPrcB2Ug7nSbCcDPfiahWX2aGs0/C2DoTffJ\nMfyvN6x5sUcvg3odDAk1uzjRTyxmOf9/mi+LM86D/KQlqpq+Eyu5xW5aisHb\nGM2yJ7VlrdNQdzN08Ue0ohcWetba+sftpwqy/gnjnU5L1VuKrbbiZi+TTott\nyqSHjNjXPGzZGWmBbMR/5YGkkQtGTMrE7ddYOy5NN2HwOnRvEUuwJ0zsnV/+\nbPqlWq1dVIKRfrYX5VCkgc63G+V6r4Wiu+4Jkr/MxohO+ltee8+ubPwTnTqJ\nzBzSRkCjmLzTmOyLeTzpkbg+yIOz9ZYgbpfJpyc+Ewf+IUFm648UA726gkrU\nRGiK5UIEW85YaN3iDlhp0X8se38XO0n8ZwpXeDiRLuwXOHapd9gOaK4n5K9c\n8Cq3RgcuTn1lZn/6lKNucAoLaWv1lLc59NX7bFK+A+KdJnjxIOsZSoMqwk4E\nT6llPUXqOEqcVz/PqDvYVVzI7L9P+3FGE8MweWI3+G5ItH0Q3H39eDuUONFt\ngMYDNo0i8XNYqm2qDN3BDyelchtlmXATFUagGDxtPU7gi8jVI3F35eCtjR6P\ncQZc\r\n=4pnK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./out/index.js","gitHead":"efc5235bb11c1c098e5bbc9cc2884c38537a2115","scripts":{"lint":"eslint src --ext ts","compile":"tsc -p ./","prepublish":"npm run compile"},"_npmUser":{"name":"daniv-msft","email":"daniv@microsoft.com"},"repository":{"url":"git+https://github.com/microsoft/vscode-file-downloader-api.git","type":"git"},"_npmVersion":"6.13.3","description":"Wrapper package for the VS Code File Downloader extension","directories":{},"_nodeVersion":"10.16.3","_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.3.1","typescript":"^3.5.3","@types/node":"^12.8.1","@types/vscode":"^1.41.0","eslint-plugin-jsdoc":"^25.4.1","eslint-plugin-import":"^2.20.2","@typescript-eslint/parser":"^3.4.0","eslint-plugin-prefer-arrow":"^1.2.1","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vscode-file-downloader-api_1.0.1_1594747008930_0.3566718091494898","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-07-13T22:01:59.606Z","modified":"2026-07-16T15:47:57.373Z","1.0.0":"2020-07-13T22:01:59.803Z","1.0.1":"2020-07-14T17:16:49.056Z"},"bugs":{"url":"https://github.com/microsoft/vscode-file-downloader-api/issues"},"author":{"name":"mindaro"},"license":"MIT","homepage":"https://github.com/microsoft/vscode-file-downloader-api#readme","repository":{"url":"git+https://github.com/microsoft/vscode-file-downloader-api.git","type":"git"},"description":"Wrapper package for the VS Code File Downloader extension","maintainers":[{"email":"npmjs@microsoft.com","name":"microsoft1es"},{"email":"microsoft-oss-publishing@microsoft.com","name":"microsoft-oss-releases"},{"email":"daniv@microsoft.com","name":"daniv-msft"}],"readme":"# VS Code File Downloader API\r\n\r\nThis package acts as a wrapper around the VS Code File Downloader extension, which exposes an API that allows other\r\nextensions to download and manage binary dependencies.\r\n\r\nUseful links:\r\n- VS Code Extension: https://marketplace.visualstudio.com/items?itemName=mindaro-dev.file-downloader\r\n- VS Code Extension Source: https://github.com/microsoft/vscode-file-downloader \r\n- Package Source: https://github.com/microsoft/vscode-file-downloader-api\r\n\r\n## Setup\r\n\r\nPlace the following in your VS Code extension's `package.json` file:\r\n\r\n```json\r\n\"extensionDependencies\": [\r\n    \"mindaro-dev.file-downloader\"\r\n]\r\n```\r\n\r\n## Usage\r\n\r\nTo get the API:\r\n\r\n```typescript\r\nimport { Uri } from \"vscode\";\r\nimport { getApi, FileDownloader } from \"@microsoft/vscode-file-downloader-api\";\r\n...\r\nconst fileDownloader: FileDownloader = await getApi();\r\n```\r\n\r\n### Download file:\r\n\r\nSimplest case:\r\n\r\n```typescript\r\nconst file: Uri = await fileDownloader.downloadFile(\r\n    Uri.parse(url),\r\n    filename,\r\n    context\r\n);\r\n```\r\n\r\nWith cancellation token and download progress callback:\r\n\r\n```typescript\r\nimport { Uri, CancellationTokenSource } from \"vscode\";\r\n...\r\n\r\nconst cancellationTokenSource = new CancellationTokenSource();\r\nconst cancellationToken = cancellationTokenSource.token;\r\n\r\nconst progressCallback = (downloadedBytes: number, totalBytes: number | undefined) => {\r\n    console.log(`Downloaded ${downloadedBytes}/${totalBytes} bytes`);\r\n};\r\n\r\nconst file: Uri = await fileDownloader.downloadFile(\r\n    Uri.parse(url),\r\n    filename,\r\n    context,\r\n    cancellationToken,\r\n    progressCallback\r\n);\r\n```\r\n\r\nExtract .zip file into directory:\r\n\r\nIf you set `shouldUnzip` to true and download a .zip file, it will be automatically extracted to a folder titled `filename`.\r\n\r\n```typescript\r\nconst directory: Uri = await fileDownloader.downloadFile(\r\n    Uri.parse(url),\r\n    filename,\r\n    context,\r\n    /* cancellationToken */ undefined,\r\n    /* progressCallback */ undefined,\r\n    { shouldUnzip: true }\r\n);\r\n```\r\n\r\n### List previously downloaded files:\r\n\r\n```typescript\r\nconst downloadedFiles: Uri[] = await fileDownloader.listDownloadedItems(context);\r\n```\r\n\r\n### Get a single downloaded file:\r\n\r\n```typescript\r\ntry {\r\n    const downloadedFile: Uri = await fileDownloader.getItem(filename, context);\r\n}\r\ncatch (error) {\r\n    // File does not exist in downloads directory\r\n}\r\n```\r\nor\r\n```typescript\r\nconst downloadedFile: Uri = await fileDownloader.tryGetItem(filename, context);\r\nif (downloadedFile === undefined) {\r\n    // File does not exist in downloads directory\r\n}\r\n```\r\n\r\n### Delete downloaded files\r\n\r\nDelete one file:\r\n\r\n```typescript\r\nawait fileDownloader.deleteItem(filename, context);\r\n```\r\n\r\nDelete all files:\r\n\r\n```typescript\r\nawait fileDownloader.deleteAllItems(context);\r\n```\r\n\r\n## Contributing\r\n\r\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\r\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\r\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\r\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\r\nprovided by the bot. You will only need to do this once across all repos using our CLA.\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\r\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n\r\n### Testing changes\r\n\r\nDo not use `npm link` to test changes locally. It can result in duplicate type declarations that can cause problems with\r\nTypeScript. To test changes locally, compile and pack the package:\r\n\r\n```bash\r\nnpm run compile\r\nnpm pack\r\n```\r\n\r\nThis produces a file called `microsoft-vscode-file-downloader-api-X.X.X.tgz` where `X.X.X` is the version number. Install the package in the consumer extension's root folder:\r\n\r\n```bash\r\nnpm install ./path/to/microsoft-vscode-file-downloader-api-X.X.X.tgz\r\n```","readmeFilename":"README.md"}