/vdeployer

Vtecx project deploy manager

Primary LanguageJavaScriptMIT LicenseMIT

vdeployer: Vtecx framework deploy manager

vdeployer Vtecx

vdeployer is a CLI tool that can deploy files from vtecx project which needs to be deployed. While working with the vtecx framework, developers had to share which server script files they have changed, so that others can compile and deploy the changes. Vdeployer focused to mitigate the problem.

Installation

npm i -g vdeployer

Usage

Show script files and uploaded/synced status

$ vdeployer l
# File Name Synced
1 hello-world.tsx
2 save-file.tsx
$ vdeployer l --date
# File Name Synced Date Modified Date Uploaded
1 hello-world.tsx 16-07-2022 12:48:58 PM 16-07-2022 14:13:02 PM
2 save-file.tsx 16-07-2022 22:49:41 PM 16-07-2022 22:40:52 PM
show.list.mov

Upload all the unsynced files

$ vdeployer d
(   ●  ) Deploying...  
http://vdeployer-test.vte.cx/server/create_site.js?_content&_bulk&_async
asset ./server/create_site.js 20.9 KiB [compared for emit] [minimized] (name: main)
./src/server/create_site.tsx 194 bytes [built] [code generated]
./node_modules/vtecxapi/index.js 47.5 KiB [built] [code generated]
webpack 5.73.0 compiled successfully in 8179 ms
dist/server/create_site.js --> http://vdeployer-test.vte.cx/server/create_site.js
deploy.mov

Create script files

$ vdeployer c -f create_talkroom

This will create src/server/create_talkroom.tsx in your vtecx project directory and add the deployment command to the deploy.sh file

src/server/create_talkroom.tsx

import * as vtecxapi from 'vtecxapi'
    
try {
    vtecxapi.doResponse(200)
} catch (error) {
    vtecxapi.log(error)
}

deploy.sh

#!/bin/sh
npx vtecxutil upload
...
...
npx webpack --env entry=/server/create_talkroom.tsx --mode=production --env externals=false
create-file.mov