File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -10,7 +10,9 @@ import {
1010 retryLink ,
1111 splitLink ,
1212 TRPCClientError ,
13+ type TRPCLink ,
1314} from "@trpc/client" ;
15+ import { observable } from "@trpc/server/observable" ;
1416import { Spinner } from "@std/cli/unstable-spinner" ;
1517import { error } from "./util.ts" ;
1618import token_storage from "./token_storage.ts" ;
@@ -19,6 +21,25 @@ import { EventSourcePolyfill } from "event-source-polyfill";
1921export function createTrpcClient ( deployUrl : string ) {
2022 let storedAuth = token_storage . get ( ) ;
2123
24+ // deno-lint-ignore no-explicit-any
25+ const errorLink : TRPCLink < any > = ( ) => {
26+ return ( { next, op } ) => {
27+ return observable ( ( observer ) => {
28+ return next ( op ) . subscribe ( {
29+ next ( value ) {
30+ observer . next ( value ) ;
31+ } ,
32+ error ( err ) {
33+ error ( err . message ) ;
34+ } ,
35+ complete ( ) {
36+ observer . complete ( ) ;
37+ } ,
38+ } ) ;
39+ } ) ;
40+ } ;
41+ } ;
42+
2243 const transformer : TRPCCombinedDataTransformer = {
2344 input : {
2445 serialize,
@@ -35,6 +56,7 @@ export function createTrpcClient(deployUrl: string) {
3556 // deno-lint-ignore no-explicit-any
3657 return createTRPCClient < any > ( {
3758 links : [
59+ errorLink ,
3860 retryLink ( {
3961 retry ( { error } ) {
4062 if ( error . message !== "Unauthorized" ) {
Original file line number Diff line number Diff line change @@ -103,7 +103,6 @@ export async function publish(
103103 }
104104 }
105105 hashesSpinner . stop ( ) ;
106- console . log ( `${ green ( "✔" ) } Generated hashes` ) ;
107106
108107 const trpcClient = createTrpcClient ( deployUrl ) ;
109108
@@ -116,6 +115,9 @@ export async function publish(
116115 manifest,
117116 } ) ;
118117
118+ // doing this after we initiate the cli revision in case it fails (ie app not existing).
119+ console . log ( `${ green ( "✔" ) } Generated hashes` ) ;
120+
119121 console . log (
120122 `You can view your application overview here:\n ${ deployUrl } /${ org } /${ app } ` ,
121123 ) ;
@@ -251,6 +253,9 @@ export async function publish(
251253 } else {
252254 console . log ( "No files were changed, so there is nothing to upload." ) ;
253255 }
256+ console . log (
257+ "You may now cancel this command, or wait until your domains are printed out." ,
258+ ) ;
254259
255260 const completionSpinner = new Spinner ( {
256261 message : "Awaiting revision to complete..." ,
Original file line number Diff line number Diff line change 1+ let cachedToken : string | null = null ;
2+
13export default {
24 get ( ) : string | null {
35 // @ts -ignore deno internals
4- return Deno [ Deno . internal ] . core . ops . op_deploy_token_get ( ) ;
6+ return cachedToken ??= Deno [ Deno . internal ] . core . ops . op_deploy_token_get ( ) ;
57 } ,
68 set ( token : string ) {
79 // @ts -ignore deno internals
810 Deno [ Deno . internal ] . core . ops . op_deploy_token_set ( token ) ;
11+ cachedToken = token ;
912 } ,
1013 remove ( ) {
1114 // @ts -ignore deno internals
1215 Deno [ Deno . internal ] . core . ops . op_deploy_token_delete ( ) ;
16+ cachedToken = null ;
1317 } ,
1418} ;
You can’t perform that action at this time.
0 commit comments