From f9544546fc8ea56547d93922f0dcc80a7f31bcdc Mon Sep 17 00:00:00 2001 From: sawka Date: Wed, 5 Apr 2023 15:11:37 -0700 Subject: [PATCH] bug fixes and updates to get prod version of webshare working --- scripthaus.md | 14 ++++++++++++++ src/model.ts | 2 +- src/webshare-model.ts | 11 +++++++++-- src/webshare.ts | 6 ++++++ webpack.share.dev.js | 2 ++ webpack.share.prod.js | 36 ++++++++++++++++++++++++++++++++++++ 6 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 webpack.share.prod.js diff --git a/scripthaus.md b/scripthaus.md index 2f9f2992..02b8cb0d 100644 --- a/scripthaus.md +++ b/scripthaus.md @@ -55,6 +55,12 @@ node_modules/.bin/webpack-dev-server --config webpack.share.dev.js --host 127.0. node_modules/.bin/webpack --config webpack.share.dev.js ``` +```bash +# @scripthaus command webshare-build-prod +# @scripthaus cd :playbook +node_modules/.bin/webpack --config webpack.share.prod.js +``` + ```bash # @scripthaus command typecheck # @scripthaus cd :playbook @@ -135,3 +141,11 @@ rm *.dmg aws --profile prompt-s3 s3 sync webshare/static s3://prompt-devshare-static/static --cache-control 'no-cache' aws --profile prompt-s3 s3 sync webshare/dist-dev s3://prompt-devshare-static/dist-dev --cache-control 'no-cache' ``` + +```bash +# @scripthaus command sync-webshare +# @scripthaus cd :playbook +# no-cache for dev +aws --profile prompt-s3 s3 sync webshare/static s3://prompt-share-static/static --cache-control 'no-cache' +aws --profile prompt-s3 s3 sync webshare/dist s3://prompt-share-static/dist --cache-control 'no-cache' +``` diff --git a/src/model.ts b/src/model.ts index c72eb550..7c6c5675 100644 --- a/src/model.ts +++ b/src/model.ts @@ -285,7 +285,7 @@ class Screen { if (GlobalModel.isDev) { return sprintf("http://devtest.getprompt.com:9001/static/index-dev.html?screenid=%s&viewkey=%s", this.screenId, viewKey); } - return sprintf("https://share.getprompt.dev/s/%s?viewkey=%s", this.screenId, viewKey); + return sprintf("https://share.getprompt.dev/share/%s?viewkey=%s", this.screenId, viewKey); } mergeData(data : ScreenDataType) { diff --git a/src/webshare-model.ts b/src/webshare-model.ts index 3d95a49b..3668d44e 100644 --- a/src/webshare-model.ts +++ b/src/webshare-model.ts @@ -9,6 +9,12 @@ import * as util from "./util"; import {windowWidthToCols, windowHeightToRows, termWidthFromCols, termHeightFromRows} from "./textmeasure"; import {WebShareWSControl} from "./webshare-ws"; +let PROMPT_DEV = __PROMPT_DEV__; +let PROMPT_VERSION = __PROMPT_VERSION__; +let PROMPT_BULILD = __PROMPT_BUILD__; +let PROMPT_API_ENDPOINT = __PROMPT_API_ENDPOINT__; +let PROMPT_WSAPI_ENDPOINT = __PROMPT_WSAPI_ENDPOINT__; + type OV = mobx.IObservableValue; type OArr = mobx.IObservableArray; type OMap = mobx.ObservableMap; @@ -23,11 +29,11 @@ function isBlank(s : string) { } function getBaseUrl() { - return "https://ot2e112zx5.execute-api.us-west-2.amazonaws.com/dev"; + return PROMPT_API_ENDPOINT; } function getBaseWSUrl() { - return "wss://5lfzlg5crl.execute-api.us-west-2.amazonaws.com/dev"; + return PROMPT_WSAPI_ENDPOINT; } class WebShareModelClass { @@ -48,6 +54,7 @@ class WebShareModelClass { remotePtyOffsetMap : Record = {}; activeUpdateFetch : boolean = false; remoteScreenVts : number = 0; + isDev : boolean = PROMPT_DEV; constructor() { let pathName = window.location.pathname; diff --git a/src/webshare.ts b/src/webshare.ts index c68b97d4..e7313bc7 100644 --- a/src/webshare.ts +++ b/src/webshare.ts @@ -7,6 +7,10 @@ import {loadFonts} from "./util"; import {WebShareModel} from "./webshare-model"; import * as textmeasure from "./textmeasure"; +let PROMPT_DEV = __PROMPT_DEV__; +let PROMPT_VERSION = __PROMPT_VERSION__; +let PROMPT_BULILD = __PROMPT_BUILD__; + loadFonts(); document.addEventListener("DOMContentLoaded", () => { @@ -27,3 +31,5 @@ document.addEventListener("DOMContentLoaded", () => { (window as any).textmeasure = textmeasure; (window as any).mobx = mobx; (window as any).sprintf = sprintf; + +console.log("PROMPT webshare", PROMPT_VERSION, PROMPT_BUILD); diff --git a/webpack.share.dev.js b/webpack.share.dev.js index 1a3771e4..2666ccb2 100644 --- a/webpack.share.dev.js +++ b/webpack.share.dev.js @@ -36,6 +36,8 @@ var definePlugin = new webpack.DefinePlugin({ __PROMPT_DEV__: "true", __PROMPT_VERSION__: JSON.stringify(VERSION), __PROMPT_BUILD__: JSON.stringify("devbuild"), + __PROMPT_API_ENDPOINT__: JSON.stringify("https://ot2e112zx5.execute-api.us-west-2.amazonaws.com/dev"), + __PROMPT_WSAPI_ENDPOINT__: JSON.stringify("wss://5lfzlg5crl.execute-api.us-west-2.amazonaws.com/dev"), }); merged.plugins.push(definePlugin); diff --git a/webpack.share.prod.js b/webpack.share.prod.js new file mode 100644 index 00000000..3427d833 --- /dev/null +++ b/webpack.share.prod.js @@ -0,0 +1,36 @@ +const webpack = require('webpack'); +const merge = require('webpack-merge'); +const common = require('./webpack.share.js'); +const moment = require("dayjs"); +const path = require("path"); +const VERSION = require("./version.js"); + +function makeBuildStr() { + let buildStr = moment().format("YYYYMMDD-HHmmss"); + console.log("Prompt " + VERSION + " build " + buildStr); + return buildStr; +} + +const BUILD = makeBuildStr(); + +let merged = merge.merge(common, { + mode: "production", + output: { + path: path.resolve(__dirname, "webshare/dist"), + filename: "[name].js", + }, + devtool: false, + optimization: { + minimize: true, + }, +}); + +merged.plugins.push(new webpack.DefinePlugin({ + __PROMPT_DEV__: "false", + __PROMPT_VERSION__: JSON.stringify(VERSION), + __PROMPT_BUILD__: JSON.stringify(BUILD), + __PROMPT_API_ENDPOINT__: JSON.stringify("https://share.getprompt.dev/api"), + __PROMPT_WSAPI_ENDPOINT__: JSON.stringify("wss://wsapi.getprompt.dev"), +})); + +module.exports = merged;