From 8c0b1ca6e086226a36d8dd68577a2c18632f9277 Mon Sep 17 00:00:00 2001 From: Markin Igor <markin.io210@gmail.com> Date: Wed, 7 Nov 2018 14:45:57 +0300 Subject: [PATCH] Set up building viamapi-iframe.js with endpoints. --- Makefile | 5 ++++- javascript/.gitignore | 1 + javascript/src/viamapi-client.js | 4 ++-- javascript/src/viamapi-iframe.js | 7 ++----- javascript/webpack.config.js | 3 +-- main.go | 18 +++++++++++++----- 6 files changed, 23 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index 5d9fa30..ea41626 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ SERVER_PKG_BUILD := "${PKG}" .PHONY: all build clean run -all: build run +all: build run bundle-libs dep: ## Get the dependencies dep ensure @@ -21,6 +21,9 @@ help: ## Display this help screen run: build ## Run app ./bin/app +bundle-libs: ## Builds JS bundles + cd javascript && yarn install && yarn build + fresh: rm -rf ./vendor rm -rf ./Gopkg.lock \ No newline at end of file diff --git a/javascript/.gitignore b/javascript/.gitignore index f06235c..e403982 100644 --- a/javascript/.gitignore +++ b/javascript/.gitignore @@ -1,2 +1,3 @@ node_modules dist +temp diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js index 8478958..0a834db 100644 --- a/javascript/src/viamapi-client.js +++ b/javascript/src/viamapi-client.js @@ -1,9 +1,9 @@ const Penpal = require('penpal').default; -function setupViamAPI(divId, methodsArg) { +function setupViamAPI(divId, methodsArg, url) { const connection = Penpal.connectToChild({ // URL of page to load into iframe. - url: '{{urlArg}}', + url, // Container to which the iframe should be appended. appendTo: document.getElementById(divId), // Methods parent is exposing to child diff --git a/javascript/src/viamapi-iframe.js b/javascript/src/viamapi-iframe.js index 073f985..83c5ab2 100644 --- a/javascript/src/viamapi-iframe.js +++ b/javascript/src/viamapi-iframe.js @@ -2177,7 +2177,7 @@ const connection = Penpal.connectToParent({ }); }); }, - marketingЕxecuteEventForIdentificator(identificator, pincode, event) { + marketingExecuteEventForIdentificator(identificator, pincode, event) { return new Penpal.Promise(result => { viamApi.setIdentity("marketingapppublickey") @@ -2256,10 +2256,7 @@ const connection = Penpal.connectToParent({ result(res) }) }, - // Previously there was "//{{methods}}" placeholder, but we can't use it anymore since Uglify in webpack - // stripping this comment and there is no chance to preserve it - // (even with special words like @preserve or comment /*! */) - placeholderForExternalMethods:1 + //{{endpointsPlaceholder}} } }); diff --git a/javascript/webpack.config.js b/javascript/webpack.config.js index 2329bd5..957709c 100644 --- a/javascript/webpack.config.js +++ b/javascript/webpack.config.js @@ -2,8 +2,7 @@ module.exports = { mode: 'production', entry: { 'viamapi-client': ['core-js/fn/promise', './src/viamapi-client.js'], - 'viamapi-iframe': ['babel-polyfill', './src/viamapi-iframe.js'], - 'wopiapi-iframe': './src/wopiapi-iframe.js' + 'viamapi-iframe': ['babel-polyfill', './temp/viamapi-iframe.js'], }, module: { rules: [ diff --git a/main.go b/main.go index 817b975..4246518 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,8 @@ import ( "code.vereign.com/code/restful-api/server" "fmt" "io/ioutil" + "os" + "path/filepath" "reflect" "sort" "strings" @@ -14,14 +16,22 @@ import ( func main() { iframeLibrary := buildIframeLibrary() - fmt.Print(iframeLibrary) + + newpath := filepath.Join(".", "javascript/temp") + os.MkdirAll(newpath, os.ModePerm) + + err := ioutil.WriteFile("./javascript/temp/viamapi-iframe.js", []byte(iframeLibrary), 0644) + + if err != nil { + fmt.Println(err.Error()) + } } func buildIframeLibrary() string { prefixes := []string{} endPoints := server.GetEndPoints(prefixes) - result := "<script>\n\n" + result := "" var keys []string for k := range endPoints { @@ -41,7 +51,7 @@ func buildIframeLibrary() string { methods := generatePenpalRemoteMethods(endPoints) methods += getWopiAPIPenpalMethods() - viamApi := strings.Replace(string(dat), "placeholderForExternalMethods:1", methods, 1) + viamApi := strings.Replace(string(dat), "//{{endpointsPlaceholder}}", methods, 1) if err != nil { fmt.Println(err.Error()) @@ -144,8 +154,6 @@ func buildIframeLibrary() string { } } - result += "</script>\n" - return result } -- GitLab