diff --git a/assets/images/logo-transparent.png b/assets/images/logo-transparent.png new file mode 100644 index 000000000..51e222d18 Binary files /dev/null and b/assets/images/logo-transparent.png differ diff --git a/assets/images/logo.png b/assets/images/logo.png new file mode 100644 index 000000000..b89c069f6 Binary files /dev/null and b/assets/images/logo.png differ diff --git a/package.json b/package.json index ebf204c72..6354d5198 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "dev:web": "npm run dev --workspace=packages/bruno-app", "build:web": "npm run build --workspace=packages/bruno-app", "dev:electron": "npm run dev --workspace=packages/bruno-electron", - "build:chrome-extension": "./scripts/create-chrome-extension.sh" + "build:chrome-extension": "./scripts/build-chrome-extension.sh", + "build:electron": "./scripts/build-electron.sh" } } diff --git a/packages/bruno-electron/.gitignore b/packages/bruno-electron/.gitignore new file mode 100644 index 000000000..ae71c5c45 --- /dev/null +++ b/packages/bruno-electron/.gitignore @@ -0,0 +1,3 @@ +node_modules +web +out diff --git a/packages/bruno-electron/.next/package.json b/packages/bruno-electron/.next/package.json deleted file mode 100644 index 7156107e3..000000000 --- a/packages/bruno-electron/.next/package.json +++ /dev/null @@ -1 +0,0 @@ -{"type": "commonjs"} \ No newline at end of file diff --git a/packages/bruno-electron/electron-builder.yml b/packages/bruno-electron/electron-builder.yml new file mode 100644 index 000000000..bfbee376c --- /dev/null +++ b/packages/bruno-electron/electron-builder.yml @@ -0,0 +1,24 @@ +appId: com.usebruno.app +productName: Bruno +electronVersion: 21.1.1 +directories: + buildResources: resources + output: out +files: + - "**/*" +mac: + artifactName: ${name}_${version}_${arch}_${os}.${ext} + category: public.app-category.developer-tools + target: + - target: dmg + arch: + - x64 + - arm64 + - target: zip + arch: + - x64 + - arm64 + icon: resources/icons/mac/icon.icns + hardenedRuntime: true + entitlements: resources/entitlements.mac.plist + entitlementsInherit: resources/entitlements.mac.plist diff --git a/packages/bruno-electron/package.json b/packages/bruno-electron/package.json index 6fa7befc7..9a7a5b9b5 100644 --- a/packages/bruno-electron/package.json +++ b/packages/bruno-electron/package.json @@ -1,24 +1,20 @@ { - "name": "@usebruno/bruno-electron", + "version": "0.1.0", + "name": "bruno", + "description": "Opensource API Client", "private": true, "main": "src/index.js", + "author": "Anoop M D (https://helloanoop.com/)", "scripts": { "clean": "rimraf dist", "dev": "electron .", - "build": "next build renderer && next export renderer", - "pack-app": "npm run build && electron-builder --dir", - "dist": "npm run build && electron-builder" - }, - "build": { - "asar": true, - "files": [ - "main", - "renderer/out" - ] + "dist": "electron-builder", + "pack-app": "electron-builder --dir" }, "dependencies": { "axios": "^0.26.0", "chokidar": "^3.5.3", + "dmg-license": "^1.0.11", "electron-is-dev": "^2.0.0", "electron-store": "^8.1.0", "electron-util": "^0.17.2", @@ -29,7 +25,8 @@ "nanoid": "3.3.4" }, "devDependencies": { - "electron": "^17.1.0", - "electron-builder": "^22.14.13" + "electron": "^21.1.1", + "electron-builder": "23.0.2", + "electron-icon-maker": "^0.0.5" } } diff --git a/packages/bruno-electron/resources/entitlements.mac.plist b/packages/bruno-electron/resources/entitlements.mac.plist new file mode 100644 index 000000000..e1cdcf773 --- /dev/null +++ b/packages/bruno-electron/resources/entitlements.mac.plist @@ -0,0 +1,10 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + + \ No newline at end of file diff --git a/packages/bruno-electron/resources/icons/mac/icon.icns b/packages/bruno-electron/resources/icons/mac/icon.icns new file mode 100644 index 000000000..5e01d5bdf Binary files /dev/null and b/packages/bruno-electron/resources/icons/mac/icon.icns differ diff --git a/packages/bruno-electron/resources/icons/png/1024x1024.png b/packages/bruno-electron/resources/icons/png/1024x1024.png new file mode 100644 index 000000000..a8534919c Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/1024x1024.png differ diff --git a/packages/bruno-electron/resources/icons/png/128x128.png b/packages/bruno-electron/resources/icons/png/128x128.png new file mode 100644 index 000000000..1f242800b Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/128x128.png differ diff --git a/packages/bruno-electron/resources/icons/png/16x16.png b/packages/bruno-electron/resources/icons/png/16x16.png new file mode 100644 index 000000000..c2a7f878f Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/16x16.png differ diff --git a/packages/bruno-electron/resources/icons/png/24x24.png b/packages/bruno-electron/resources/icons/png/24x24.png new file mode 100644 index 000000000..086e7c563 Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/24x24.png differ diff --git a/packages/bruno-electron/resources/icons/png/256x256.png b/packages/bruno-electron/resources/icons/png/256x256.png new file mode 100644 index 000000000..d1263e9c5 Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/256x256.png differ diff --git a/packages/bruno-electron/resources/icons/png/32x32.png b/packages/bruno-electron/resources/icons/png/32x32.png new file mode 100644 index 000000000..ebec8d2b5 Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/32x32.png differ diff --git a/packages/bruno-electron/resources/icons/png/48x48.png b/packages/bruno-electron/resources/icons/png/48x48.png new file mode 100644 index 000000000..b2410224d Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/48x48.png differ diff --git a/packages/bruno-electron/resources/icons/png/512x512.png b/packages/bruno-electron/resources/icons/png/512x512.png new file mode 100644 index 000000000..8f752ba4b Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/512x512.png differ diff --git a/packages/bruno-electron/resources/icons/png/64x64.png b/packages/bruno-electron/resources/icons/png/64x64.png new file mode 100644 index 000000000..c3d8b5a65 Binary files /dev/null and b/packages/bruno-electron/resources/icons/png/64x64.png differ diff --git a/packages/bruno-electron/resources/icons/win/icon.ico b/packages/bruno-electron/resources/icons/win/icon.ico new file mode 100644 index 000000000..24f8dcc40 Binary files /dev/null and b/packages/bruno-electron/resources/icons/win/icon.ico differ diff --git a/packages/bruno-electron/src/app/watcher.js b/packages/bruno-electron/src/app/watcher.js index aa54372d3..ae5e4bf7a 100644 --- a/packages/bruno-electron/src/app/watcher.js +++ b/packages/bruno-electron/src/app/watcher.js @@ -1,6 +1,5 @@ const fs = require('fs'); const path = require('path'); -const yaml = require('js-yaml'); const chokidar = require('chokidar'); const { hasJsonExtension } = require('../utils/filesystem'); diff --git a/packages/bruno-electron/src/index.js b/packages/bruno-electron/src/index.js index 1c4fd6489..157f2b65c 100644 --- a/packages/bruno-electron/src/index.js +++ b/packages/bruno-electron/src/index.js @@ -18,7 +18,7 @@ setContentSecurityPolicy(` connect-src * 'unsafe-inline'; base-uri 'none'; form-action 'none'; - frame-ancestors 'none'; + frame-ancestors ghbtns.com; `); const menu = Menu.buildFromTemplate(menuTemplate); @@ -42,7 +42,7 @@ app.on('ready', async () => { const url = isDev ? 'http://localhost:3000' : format({ - pathname: path.join(__dirname, '../packages/bruno-app/out/index.html'), + pathname: path.join(__dirname, '../web/index.html'), protocol: 'file:', slashes: true }); diff --git a/scripts/create-chrome-extension.sh b/scripts/build-chrome-extension.sh similarity index 100% rename from scripts/create-chrome-extension.sh rename to scripts/build-chrome-extension.sh diff --git a/scripts/build-electron.sh b/scripts/build-electron.sh new file mode 100755 index 000000000..c928267c8 --- /dev/null +++ b/scripts/build-electron.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Remove out directory +rm -rf packages/bruno-electron/out + +# Remove web directory +rm -rf packages/bruno-electron/web + +# Create a new web directory +mkdir packages/bruno-electron/web + +# Copy build +cp -r packages/bruno-app/out/* packages/bruno-electron/web + + +# Change paths in next +sed -i'' -e 's@/_next/@_next/@g' packages/bruno-electron/web/**.html + +# Remove sourcemaps +find packages/bruno-electron/web -name '*.map' -type f -delete + +npm run pack-app --workspace=packages/bruno-electron \ No newline at end of file