fix(core): update
This commit is contained in:
		| @@ -19,23 +19,35 @@ mirror: | |||||||
|   stage: security |   stage: security | ||||||
|   script: |   script: | ||||||
|     - npmci git mirror |     - npmci git mirror | ||||||
|  |   only: | ||||||
|  |     - tags | ||||||
|   tags: |   tags: | ||||||
|     - lossless |     - lossless | ||||||
|     - docker |     - docker | ||||||
|     - notpriv |     - notpriv | ||||||
|  |  | ||||||
| audit: | auditProductionDependencies: | ||||||
|  |   image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||||
|  |   stage: security | ||||||
|  |   script: | ||||||
|  |     - npmci npm prepare | ||||||
|  |     - npmci command npm install --production --ignore-scripts | ||||||
|  |     - npmci command npm config set registry https://registry.npmjs.org | ||||||
|  |     - npmci command npm audit --audit-level=high --only=prod --production | ||||||
|  |   tags: | ||||||
|  |     - docker | ||||||
|  |  | ||||||
|  | auditDevDependencies: | ||||||
|   image: registry.gitlab.com/hosttoday/ht-docker-node:npmci |   image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||||
|   stage: security |   stage: security | ||||||
|   script: |   script: | ||||||
|     - npmci npm prepare |     - npmci npm prepare | ||||||
|     - npmci command npm install --ignore-scripts |     - npmci command npm install --ignore-scripts | ||||||
|     - npmci command npm config set registry https://registry.npmjs.org |     - npmci command npm config set registry https://registry.npmjs.org | ||||||
|     - npmci command npm audit --audit-level=high |     - npmci command npm audit --audit-level=high --only=dev | ||||||
|   tags: |   tags: | ||||||
|     - lossless |  | ||||||
|     - docker |     - docker | ||||||
|     - notpriv |   allow_failure: true | ||||||
|  |  | ||||||
| # ==================== | # ==================== | ||||||
| # test stage | # test stage | ||||||
| @@ -50,9 +62,7 @@ testStable: | |||||||
|     - npmci npm test |     - npmci npm test | ||||||
|   coverage: /\d+.?\d+?\%\s*coverage/ |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|   tags: |   tags: | ||||||
|     - lossless |  | ||||||
|     - docker |     - docker | ||||||
|     - priv |  | ||||||
|  |  | ||||||
| testBuild: | testBuild: | ||||||
|   stage: test |   stage: test | ||||||
| @@ -63,9 +73,7 @@ testBuild: | |||||||
|     - npmci command npm run build |     - npmci command npm run build | ||||||
|   coverage: /\d+.?\d+?\%\s*coverage/ |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|   tags: |   tags: | ||||||
|     - lossless |  | ||||||
|     - docker |     - docker | ||||||
|     - notpriv |  | ||||||
|  |  | ||||||
| release: | release: | ||||||
|   stage: release |   stage: release | ||||||
| @@ -85,6 +93,8 @@ release: | |||||||
| codequality: | codequality: | ||||||
|   stage: metadata |   stage: metadata | ||||||
|   allow_failure: true |   allow_failure: true | ||||||
|  |   only: | ||||||
|  |     - tags | ||||||
|   script: |   script: | ||||||
|     - npmci command npm install -g tslint typescript |     - npmci command npm install -g tslint typescript | ||||||
|     - npmci npm prepare |     - npmci npm prepare | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							| @@ -15,7 +15,7 @@ | |||||||
|             "properties": { |             "properties": { | ||||||
|               "projectType": { |               "projectType": { | ||||||
|                 "type": "string", |                 "type": "string", | ||||||
|                 "enum": ["website", "element", "service", "npm"] |                 "enum": ["website", "element", "service", "npm", "wcc"] | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
|   | |||||||
| @@ -39,5 +39,8 @@ | |||||||
|     "cli.js", |     "cli.js", | ||||||
|     "npmextra.json", |     "npmextra.json", | ||||||
|     "readme.md" |     "readme.md" | ||||||
|  |   ], | ||||||
|  |   "browserslist": [ | ||||||
|  |     "last 1 chrome versions" | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
| @@ -13,7 +13,7 @@ tap.test('should create a valid smartbucket', async () => { | |||||||
|   testSmartbucket = new smartbucket.SmartBucket({ |   testSmartbucket = new smartbucket.SmartBucket({ | ||||||
|     accessKey: testQenv.getEnvVarOnDemand('S3_KEY'), |     accessKey: testQenv.getEnvVarOnDemand('S3_KEY'), | ||||||
|     accessSecret: testQenv.getEnvVarOnDemand('S3_SECRET'), |     accessSecret: testQenv.getEnvVarOnDemand('S3_SECRET'), | ||||||
|     endpoint: 'fra1.digitaloceanspaces.com' |     endpoint: 'fra1.digitaloceanspaces.com', | ||||||
|   }); |   }); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| @@ -79,7 +79,9 @@ tap.test('should correctly build paths for sub directories', async () => { | |||||||
| tap.test('should list huge file directory', async () => { | tap.test('should list huge file directory', async () => { | ||||||
|   const servezoneBucket = await smartbucket.Bucket.getBucketByName(testSmartbucket, 'servezone'); |   const servezoneBucket = await smartbucket.Bucket.getBucketByName(testSmartbucket, 'servezone'); | ||||||
|   const servezoneBaseDirectory = await servezoneBucket.getBaseDirectory(); |   const servezoneBaseDirectory = await servezoneBucket.getBaseDirectory(); | ||||||
|   const brandfileDirectory = await servezoneBaseDirectory.getSubDirectoryByName('public/brandfiles'); |   const brandfileDirectory = await servezoneBaseDirectory.getSubDirectoryByName( | ||||||
|  |     'public/brandfiles' | ||||||
|  |   ); | ||||||
|   const files = await brandfileDirectory.listFiles(); |   const files = await brandfileDirectory.listFiles(); | ||||||
|   const directories = await brandfileDirectory.listDirectories(); |   const directories = await brandfileDirectory.listDirectories(); | ||||||
|   console.log(files); |   console.log(files); | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ import { Observable } from 'rxjs'; | |||||||
| export class Bucket { | export class Bucket { | ||||||
|   public static async getBucketByName(smartbucketRef: SmartBucket, bucketNameArg: string) { |   public static async getBucketByName(smartbucketRef: SmartBucket, bucketNameArg: string) { | ||||||
|     const buckets = await smartbucketRef.minioClient.listBuckets(); |     const buckets = await smartbucketRef.minioClient.listBuckets(); | ||||||
|     const foundBucket = buckets.find(bucket => { |     const foundBucket = buckets.find((bucket) => { | ||||||
|       return bucket.name === bucketNameArg; |       return bucket.name === bucketNameArg; | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| @@ -20,12 +20,12 @@ export class Bucket { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   public static async createBucketByName(smartbucketRef: SmartBucket, bucketName: string) { |   public static async createBucketByName(smartbucketRef: SmartBucket, bucketName: string) { | ||||||
|     await smartbucketRef.minioClient.makeBucket(bucketName, 'ams3').catch(e => console.log(e)); |     await smartbucketRef.minioClient.makeBucket(bucketName, 'ams3').catch((e) => console.log(e)); | ||||||
|     return new Bucket(smartbucketRef, bucketName); |     return new Bucket(smartbucketRef, bucketName); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   public static async removeBucketByName(smartbucketRef: SmartBucket, bucketName: string) { |   public static async removeBucketByName(smartbucketRef: SmartBucket, bucketName: string) { | ||||||
|     await smartbucketRef.minioClient.removeBucket(bucketName).catch(e => console.log(e)); |     await smartbucketRef.minioClient.removeBucket(bucketName).catch((e) => console.log(e)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   public smartbucketRef: SmartBucket; |   public smartbucketRef: SmartBucket; | ||||||
| @@ -54,7 +54,7 @@ export class Bucket { | |||||||
|     const streamIntake = new plugins.streamfunction.Intake(); |     const streamIntake = new plugins.streamfunction.Intake(); | ||||||
|     const putPromise = this.smartbucketRef.minioClient |     const putPromise = this.smartbucketRef.minioClient | ||||||
|       .putObject(this.name, pathArg, streamIntake.getReadable()) |       .putObject(this.name, pathArg, streamIntake.getReadable()) | ||||||
|       .catch(e => console.log(e)); |       .catch((e) => console.log(e)); | ||||||
|     streamIntake.pushData(fileContent); |     streamIntake.pushData(fileContent); | ||||||
|     streamIntake.signalEnd(); |     streamIntake.signalEnd(); | ||||||
|     await putPromise; |     await putPromise; | ||||||
| @@ -68,12 +68,12 @@ export class Bucket { | |||||||
|     let completeFile: Buffer; |     let completeFile: Buffer; | ||||||
|     const replaySubject = await this.fastGetStream(pathArg); |     const replaySubject = await this.fastGetStream(pathArg); | ||||||
|     replaySubject.subscribe( |     replaySubject.subscribe( | ||||||
|       chunk => { |       (chunk) => { | ||||||
|         if (completeFile) { |         if (completeFile) { | ||||||
|           completeFile = Buffer.concat([completeFile, chunk]); |           completeFile = Buffer.concat([completeFile, chunk]); | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       err => { |       (err) => { | ||||||
|         console.log(err); |         console.log(err); | ||||||
|       }, |       }, | ||||||
|       () => { |       () => { | ||||||
| @@ -87,14 +87,14 @@ export class Bucket { | |||||||
|   public async fastGetStream(pathArg: string): Promise<plugins.smartrx.rxjs.ReplaySubject<Buffer>> { |   public async fastGetStream(pathArg: string): Promise<plugins.smartrx.rxjs.ReplaySubject<Buffer>> { | ||||||
|     const fileStream = await this.smartbucketRef.minioClient |     const fileStream = await this.smartbucketRef.minioClient | ||||||
|       .getObject(this.name, pathArg) |       .getObject(this.name, pathArg) | ||||||
|       .catch(e => console.log(e)); |       .catch((e) => console.log(e)); | ||||||
|     const replaySubject = new plugins.smartrx.rxjs.ReplaySubject<Buffer>(); |     const replaySubject = new plugins.smartrx.rxjs.ReplaySubject<Buffer>(); | ||||||
|     const duplexStream = plugins.streamfunction.createDuplexStream<Buffer, Buffer>( |     const duplexStream = plugins.streamfunction.createDuplexStream<Buffer, Buffer>( | ||||||
|       async chunk => { |       async (chunk) => { | ||||||
|         replaySubject.next(chunk); |         replaySubject.next(chunk); | ||||||
|         return chunk; |         return chunk; | ||||||
|       }, |       }, | ||||||
|       async cb => { |       async (cb) => { | ||||||
|         console.log('stream ended'); |         console.log('stream ended'); | ||||||
|         replaySubject.complete(); |         replaySubject.complete(); | ||||||
|         return Buffer.from(''); |         return Buffer.from(''); | ||||||
|   | |||||||
| @@ -72,7 +72,7 @@ export class Directory { | |||||||
|     ); |     ); | ||||||
|     const fileArray: File[] = []; |     const fileArray: File[] = []; | ||||||
|     const duplexStream = plugins.streamfunction.createDuplexStream<plugins.minio.BucketItem, void>( |     const duplexStream = plugins.streamfunction.createDuplexStream<plugins.minio.BucketItem, void>( | ||||||
|       async bucketItem => { |       async (bucketItem) => { | ||||||
|         if (bucketItem.prefix) { |         if (bucketItem.prefix) { | ||||||
|           return; |           return; | ||||||
|         } |         } | ||||||
| @@ -87,7 +87,7 @@ export class Directory { | |||||||
|           fileArray.push(new File(this, subtractedPath)); |           fileArray.push(new File(this, subtractedPath)); | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       async tools => { |       async (tools) => { | ||||||
|         done.resolve(); |         done.resolve(); | ||||||
|       } |       } | ||||||
|     ); |     ); | ||||||
| @@ -109,7 +109,7 @@ export class Directory { | |||||||
|     ); |     ); | ||||||
|     const directoryArray: Directory[] = []; |     const directoryArray: Directory[] = []; | ||||||
|     const duplexStream = plugins.streamfunction.createDuplexStream<plugins.minio.BucketItem, void>( |     const duplexStream = plugins.streamfunction.createDuplexStream<plugins.minio.BucketItem, void>( | ||||||
|       async bucketItem => { |       async (bucketItem) => { | ||||||
|         if (bucketItem.name) { |         if (bucketItem.name) { | ||||||
|           return; |           return; | ||||||
|         } |         } | ||||||
| @@ -119,13 +119,13 @@ export class Directory { | |||||||
|         } |         } | ||||||
|         if (subtractedPath.includes('/')) { |         if (subtractedPath.includes('/')) { | ||||||
|           const dirName = subtractedPath.split('/')[0]; |           const dirName = subtractedPath.split('/')[0]; | ||||||
|           if (directoryArray.find(directory => directory.name === dirName)) { |           if (directoryArray.find((directory) => directory.name === dirName)) { | ||||||
|             return; |             return; | ||||||
|           } |           } | ||||||
|           directoryArray.push(new Directory(this.bucketRef, this, dirName)); |           directoryArray.push(new Directory(this.bucketRef, this, dirName)); | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       async tools => { |       async (tools) => { | ||||||
|         done.resolve(); |         done.resolve(); | ||||||
|       } |       } | ||||||
|     ); |     ); | ||||||
| @@ -153,7 +153,7 @@ export class Directory { | |||||||
|  |  | ||||||
|     const getDirectory = async (directoryArg: Directory, dirNameToSearch: string) => { |     const getDirectory = async (directoryArg: Directory, dirNameToSearch: string) => { | ||||||
|       const directories = await directoryArg.listDirectories(); |       const directories = await directoryArg.listDirectories(); | ||||||
|       return directories.find(directory => { |       return directories.find((directory) => { | ||||||
|         return directory.name === dirNameToSearch; |         return directory.name === dirNameToSearch; | ||||||
|       }); |       }); | ||||||
|     }; |     }; | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ export class File { | |||||||
|     const streamIntake = new plugins.streamfunction.Intake(); |     const streamIntake = new plugins.streamfunction.Intake(); | ||||||
|     const putPromise = directoryRef.bucketRef.smartbucketRef.minioClient |     const putPromise = directoryRef.bucketRef.smartbucketRef.minioClient | ||||||
|       .putObject(this.name, filePath, streamIntake.getReadable()) |       .putObject(this.name, filePath, streamIntake.getReadable()) | ||||||
|       .catch(e => console.log(e)); |       .catch((e) => console.log(e)); | ||||||
|     streamIntake.pushData(fileContent); |     streamIntake.pushData(fileContent); | ||||||
|     streamIntake.signalEnd(); |     streamIntake.signalEnd(); | ||||||
|     await putPromise; |     await putPromise; | ||||||
| @@ -53,14 +53,14 @@ export class File { | |||||||
|     const done = plugins.smartpromise.defer(); |     const done = plugins.smartpromise.defer(); | ||||||
|     const fileStream = await this.parentDirectoryRef.bucketRef.smartbucketRef.minioClient |     const fileStream = await this.parentDirectoryRef.bucketRef.smartbucketRef.minioClient | ||||||
|       .getObject(this.parentDirectoryRef.bucketRef.name, this.path) |       .getObject(this.parentDirectoryRef.bucketRef.name, this.path) | ||||||
|       .catch(e => console.log(e)); |       .catch((e) => console.log(e)); | ||||||
|     let completeFile = new Buffer(''); |     let completeFile = new Buffer(''); | ||||||
|     const duplexStream = plugins.streamfunction.createDuplexStream<Buffer, Buffer>( |     const duplexStream = plugins.streamfunction.createDuplexStream<Buffer, Buffer>( | ||||||
|       async chunk => { |       async (chunk) => { | ||||||
|         completeFile = Buffer.concat([chunk]); |         completeFile = Buffer.concat([chunk]); | ||||||
|         return chunk; |         return chunk; | ||||||
|       }, |       }, | ||||||
|       async cb => { |       async (cb) => { | ||||||
|         done.resolve(); |         done.resolve(); | ||||||
|         return Buffer.from(''); |         return Buffer.from(''); | ||||||
|       } |       } | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ export class SmartBucket { | |||||||
|       port: 443, |       port: 443, | ||||||
|       useSSL: true, |       useSSL: true, | ||||||
|       accessKey: this.config.accessKey, |       accessKey: this.config.accessKey, | ||||||
|       secretKey: this.config.accessSecret |       secretKey: this.config.accessSecret, | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user