11import { logging } from '@angular-devkit/core' ;
2- import * as fse from 'fs-extra' ;
32
43import { Schema } from '../deploy/schema' ;
54const Heroku = require ( 'heroku-client' ) ;
5+ var url = require ( 'url' ) ;
6+ const fetch = require ( "node-fetch" ) ;
67
78// TODO: add your deployment code here!
89export async function run ( dir : string , options : Schema , logger : logging . LoggerApi ) {
@@ -14,14 +15,39 @@ export async function run(dir: string, options: Schema, logger: logging.LoggerAp
1415 const result = await heroku . get ( '/apps' ) ;
1516 const site = result . find ( ( app => app . name === 'ngx-deploy-demo' ) )
1617
17- const slugResult = await heroku . post ( `/apps/${ site . name } /slugs` , {
18- body : {
19- process_types : { "web" : "node-v0.10.20-linux-x64/bin/node index.js" }
20- }
18+ const slugResult = await heroku . post ( `/apps/${ site . name } /slugs` , {
19+ body : {
20+ process_types : { "web" : "node-v0.10.20-linux-x64/bin/node index.js" }
2121 }
22+ }
2223 ) ;
24+
25+ // const upload
2326 // console.log(site);
24- console . log ( slugResult . blob . url ) ;
27+ console . log ( slugResult ) ;
28+ const apiUrl = slugResult . blob . url . replace ( '%3D' , '=' ) ;
29+ console . log ( apiUrl ) ;
30+
31+
32+ const response = await fetch ( slugResult . blob . url , {
33+ method : `${ slugResult . blob . method } ` , // or 'PUT'
34+ // body: JSON.stringify(data), // data can be `string` or {object}!
35+ body : '@E:\ngx-deploy-heroku\ngx-deploy-sample\ngx-deploy-sample-0.0.0.tgz' ,
36+ headers : {
37+ 'Content-Type' : ''
38+ }
39+ } ) ;
40+ console . log ( response ) ;
41+ console . log ( slugResult . id ) ;
42+
43+ const release = await heroku . post ( `/apps/${ site . name } /releases` , {
44+ body : {
45+ slug : `${ slugResult . id } `
46+ }
47+ } ) ;
48+
49+ console . log ( release ) ;
50+
2551 }
2652 catch ( error ) {
2753 logger . error ( '❌ An error occurred!' ) ;
0 commit comments