{"_id":"@acaprojects/a2-uploads","_rev":"5-d87943b0fa837fbc614ced81d8ad5a76","name":"@acaprojects/a2-uploads","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@acaprojects/a2-uploads","version":"1.0.1","keywords":["angular2","aca","cloud","uploads","direct"],"author":{"name":"Stephen von Takach","email":"steve@acaprojects.com"},"license":"MIT","_id":"@acaprojects/a2-uploads@1.0.1","maintainers":[{"name":"yuion","email":"alex@yuion.net"}],"homepage":"https://github.com/cotag/a2-uploads#readme","bugs":{"url":"https://github.com/cotag/a2-uploads/issues"},"dist":{"shasum":"132031bf6ef080508cf8fb364e86d8c9c9d3d500","tarball":"https://registry.npmjs.org/@acaprojects/a2-uploads/-/a2-uploads-1.0.1.tgz","integrity":"sha512-Zz5/Z2XyuHbm4VT6Vdh6AJC0kKrquPzrRYx/Y4MIWAHYutcM5uj3XqZ8gj38DufEM8+lX5928a/g/FfLx9J0YQ==","signatures":[{"sig":"MEUCIEgkqGvpoo0g+FbR/uluzAtT7fgqUPc4JQirkP7sYIxzAiEAxILJNl406fq73V1iwkRRhLEVj771YWAbn6dRfTLnOVY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"132031bf6ef080508cf8fb364e86d8c9c9d3d500","scripts":{"test":"test","build":"gulp build","build:dev":"gulp build:dev","build:prod":"gulp build:prod"},"_npmUser":{"name":"yuion","email":"alex@yuion.net"},"repository":{"url":"git+https://github.com/cotag/a2-uploads.git","type":"git"},"_npmVersion":"4.6.1","description":"Angular 2 Interface for direct to cloud uploads","_nodeVersion":"7.2.1","dependencies":{"rxjs":"^5.0.1","faker":"^4.1.0","zone.js":"^0.8.5","es6-shim":"^0.35.1","fast-sha256":"^1.0.0","@types/faker":"^4.1.0","watch-object":"^1.1.2","@angular/core":"^4.0.0","@angular/http":"^4.0.0","@angular/common":"^4.0.0","reflect-metadata":"^0.1.8"},"devDependencies":{"del":"^2.2.2","gulp":"^3.9.1","karma":"^1.4.1","dotenv":"^4.0.0","ts-md5":"^1.2.0","tslint":"^5.4.2","webpack":"^2.2.0","gulp-sass":"^3.1.0","gulp-util":"^3.0.7","ts-loader":"^2.0.3","css-loader":"^0.28.4","gulp-clean":"^0.3.2","raw-loader":"^0.5.1","ts-helpers":"^1.1.1","typescript":"2.3.4","url-loader":"^0.5.7","@types/chai":"^4.0.0","@types/node":"^7.0.11","file-loader":"^0.11.2","json-loader":"^0.5.4","require-dir":"^0.3.0","gulp-replace":"^0.5.4","jasmine-core":"^2.5.2","karma-jasmine":"^1.0.2","karma-webpack":"2.0.3","tslint-loader":"^3.4.3","webpack-merge":"^4.1.0","@types/jasmine":"2.5.51","@types/webpack":"^2.2.12","karma-coverage":"^1.1.1","@types/hammerjs":"^2.0.33","@types/uglify-js":"^2.0.27","gulp-inject-file":"0.0.18","to-string-loader":"^1.1.5","webpack-md5-hash":"^0.0.5","@types/protractor":"^4.0.0","@types/source-map":"^0.5.0","gulp-autoprefixer":"^4.0.0","source-map-loader":"^0.2.1","phantomjs-prebuilt":"^2.1.12","webpack-dev-server":"^2.3.0","copy-webpack-plugin":"^4.0.1","html-webpack-plugin":"^2.28.0","karma-mocha-reporter":"^2.2.2","karma-remap-coverage":"^0.1.4","assets-webpack-plugin":"^3.4.0","karma-chrome-launcher":"^2.0.0","string-replace-loader":"^1.0.5","angular2-router-loader":"^0.3.5","karma-sourcemap-loader":"^0.3.7","webpack-dev-middleware":"^1.10.0","appcache-webpack-plugin":"^1.3.0","angular2-template-loader":"^0.6.2","@types/selenium-webdriver":"3.0.4","awesome-typescript-loader":"^3.1.2"},"_npmOperationalInternal":{"tmp":"tmp/a2-uploads-1.0.1.tgz_1496893454134_0.4918939978815615","host":"s3://npm-registry-packages"},"directories":{}}},"time":{"created":"2017-06-08T03:44:14.246Z","modified":"2026-06-10T20:40:43.129Z","1.0.1":"2017-06-08T03:44:14.246Z"},"bugs":{"url":"https://github.com/cotag/a2-uploads/issues"},"author":{"name":"Stephen von Takach","email":"steve@acaprojects.com"},"license":"MIT","homepage":"https://github.com/cotag/a2-uploads#readme","keywords":["angular2","aca","cloud","uploads","direct"],"repository":{"url":"git+https://github.com/cotag/a2-uploads.git","type":"git"},"description":"Angular 2 Interface for direct to cloud uploads","maintainers":[{"email":"alex@yuion.net","name":"yuion"}],"readme":"# Introduction\n\nThis project is an Angular2 library for handling secure direct to cloud uploads that are managed by the [Condominios](https://github.com/cotag/Condominios) project.\nAt CoTag Media we use it to handle all of our file ingestion as it:\n\n* takes the load away from our API servers\n* allows us to support hybrid cloud models\n* works seamlessly with [AWS Lambda](http://docs.aws.amazon.com/lambda/latest/dg/with-s3.html) and [Google Cloud Functions](https://cloud.google.com/functions/docs)\n\nEffectively this project takes [blob or file objects](https://github.com/cotag/a2-file-drop) in the browser and \n\n* Manages an upload queue with pause, resume and progress for each upload\n* Supports configuring individual upload parallelism and the number of simultaneous uploads\n* All files are hashed in webworkers before upload for data integrity\n* Communicates with Condominios to obtain [signed requests](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#UsingTemporarySecurityCredentials) for the uploads\n\n\n## Usage\n\n1. Optionally bootstrap `MD5_WORKER_BASE` - this allows you to customise the path of the [MD5 worker](https://github.com/cotag/ts-md5)\n2. Bootstrap the `MD5Workers` - these perform the hashing in webworkers and should only be instansitated once\n3. In the components you wish to perform uploads, inject your `Http` service and the `MD5Workers`\n4. Import `UploadManager` and the storage providers you wish to use `Amazon`, `Google`, `Azure`, `OpenStack`\n5. Add the providers to the upload manager: `UploadManager.addProvider(Amazon);`\n\nYou can now use the manager\n\n```typescript\n\nthis.manager = new UploadManager(http, '/uploads', workers);\nthis.manager.autoStart = true;\n\n// ...\n\n// Add files to the upload manager\n// Files is an array of Blobs or Files -> https://developer.mozilla.org/en/docs/Web/API/File\nthis.manager.upload(files);\n\n```\n\n\n## Building from src\n\nThe project is written in typescript and transpiled into ES5.\n\n1. Install TypeScript: `npm install -g typescript` (if you haven't already)\n2. Configure compile options in `tsconfig.json`\n3. Perform build using: `tsc` or build script below\n\nYou can find more information here: https://github.com/Microsoft/TypeScript/wiki/tsconfig.json\n\n## Scripts\n\n1. Build Script: `npm run build`\n2. Test Script: `npm run test`\n\n\n## Publishing\n\n1. Sign up to https://www.npmjs.com/\n2. Configure `package.json` https://docs.npmjs.com/files/package.json\n3. run `npm publish` https://docs.npmjs.com/cli/publish\n\n\n# License\n\nMIT\n","readmeFilename":"README.md"}