11import { ArchTypes , PlatformTypes } from '@oclif/config'
2+ import * as Errors from '@oclif/errors'
23import * as path from 'path'
34import * as qq from 'qqjs'
45
@@ -43,6 +44,8 @@ export async function build(c: IConfig, options: {
4344 qq . cd ( c . workspace ( ) )
4445 const pjson = await qq . readJSON ( 'package.json' )
4546 pjson . version = c . version
47+ pjson . oclif . update = pjson . oclif . update || { }
48+ pjson . oclif . update . s3 = pjson . oclif . update . s3 || { }
4649 pjson . oclif . update . s3 . bucket = c . s3Config . bucket
4750 await qq . writeJSON ( 'package.json' , pjson )
4851 }
@@ -85,6 +88,7 @@ export async function build(c: IConfig, options: {
8588 if ( options . pack === false ) return
8689 await pack ( workspace , c . dist ( key ) )
8790 if ( xz ) await pack ( workspace , c . dist ( config . s3Key ( 'versioned' , '.tar.xz' , target ) ) )
91+ if ( ! c . updateConfig . s3 . host ) return
8892 const manifest : IManifest = {
8993 rollout : ( typeof c . updateConfig . autoupdate === 'object' && c . updateConfig . autoupdate . rollout ) as number ,
9094 version : c . version ,
@@ -105,6 +109,10 @@ export async function build(c: IConfig, options: {
105109 if ( options . pack === false ) return
106110 await pack ( c . workspace ( ) , c . dist ( config . s3Key ( 'versioned' , '.tar.gz' ) ) )
107111 if ( xz ) await pack ( c . workspace ( ) , c . dist ( config . s3Key ( 'versioned' , '.tar.xz' ) ) )
112+ if ( ! c . updateConfig . s3 . host ) {
113+ Errors . warn ( 'No S3 bucket or host configured. CLI will not be able to update.' )
114+ return
115+ }
108116 const manifest : IManifest = {
109117 version : c . version ,
110118 baseDir : config . s3Key ( 'baseDir' ) ,
0 commit comments