wokring electron app build + simplified web build

This commit is contained in:
Jan Prochazka
2021-03-21 19:20:42 +01:00
parent 34f2fb2a0a
commit b7b9dde5ae
11 changed files with 80 additions and 34 deletions

2
.gitignore vendored
View File

@@ -12,6 +12,8 @@ node_modules
build
dist
app/packages/web/public
# misc
.DS_Store
.env.local

View File

@@ -68,10 +68,10 @@
"start": "cross-env ELECTRON_START_URL=http://localhost:5000 electron .",
"start:local": "cross-env electron .",
"dist": "electron-builder",
"build": "cd ../packages/api && yarn build && cd ../web && yarn build:app && cd ../../app && yarn dist",
"build:local": "cd ../packages/api && yarn build && cd ../web && yarn build:app && cd ../../app && yarn predist",
"build": "cd ../packages/api && yarn build && cd ../web && yarn build && cd ../../app && yarn dist",
"build:local": "cd ../packages/api && yarn build && cd ../web && yarn build && cd ../../app && yarn predist",
"postinstall": "electron-builder install-app-deps",
"predist": "copyfiles ../packages/api/dist/* packages && copyfiles \"../packages/web/build/*\" packages && copyfiles \"../packages/web/build/**/*\" packages"
"predist": "copyfiles ../packages/api/dist/* packages && copyfiles \"../packages/web/public/*\" packages && copyfiles \"../packages/web/public/**/*\" packages"
},
"main": "src/electron.js",
"devDependencies": {

View File

@@ -169,7 +169,7 @@ function createWindow() {
const startUrl =
process.env.ELECTRON_START_URL ||
url.format({
pathname: path.join(__dirname, '../packages/web/build/index.html'),
pathname: path.join(__dirname, '../packages/web/public/index.html'),
protocol: 'file:',
slashes: true,
});

View File

@@ -21,7 +21,7 @@
"build:lib": "yarn build:tools && yarn build:sqltree && yarn build:filterparser && yarn build:datalib",
"build:app": "cd app && yarn install && yarn build",
"build:api": "yarn workspace dbgate-api build",
"build:web:docker": "yarn workspace dbgate-web build:docker",
"build:web:docker": "yarn workspace dbgate-web build",
"build:app:local": "cd app && yarn build:local",
"start:app:local": "cd app && yarn start:local",
"setCurrentVersion": "node setCurrentVersion",
@@ -29,7 +29,7 @@
"fillNativeModules": "node fillNativeModules",
"fillNativeModulesElectron": "node fillNativeModules --eletron",
"prettier": "prettier --write packages/api/src && prettier --write packages/datalib/src && prettier --write packages/filterparser/src && prettier --write packages/sqltree/src && prettier --write packages/tools/src && prettier --write packages/types && prettier --write packages/web/src && prettier --write app/src",
"copy:docker:build": "copyfiles packages/api/dist/* docker -f && copyfiles packages/web/build/* docker -u 2 && copyfiles \"packages/web/build/**/*\" docker -u 2",
"copy:docker:build": "copyfiles packages/api/dist/* docker -f && copyfiles packages/web/public/* docker -u 2 && copyfiles \"packages/web/public/**/*\" docker -u 2",
"prepare:docker": "yarn build:web:docker && yarn build:api && yarn copy:docker:build",
"prepare": "yarn build:lib",
"start": "concurrently --kill-others-on-fail \"yarn start:api\" \"yarn start:web\"",

View File

@@ -2,8 +2,8 @@
"name": "dbgate-web",
"version": "1.0.0",
"scripts": {
"build": "rollup -c",
"dev": "rollup -c -w",
"build": "cross-env API_URL=ORIGIN rollup -c",
"dev": "cross-env API_URL=http://localhost:3000 rollup -c -w",
"start": "sirv public",
"validate": "svelte-check"
},
@@ -11,10 +11,12 @@
"@ant-design/colors": "^5.0.0",
"@rollup/plugin-commonjs": "^17.0.0",
"@rollup/plugin-node-resolve": "^11.0.0",
"@rollup/plugin-replace": "^2.4.1",
"@rollup/plugin-typescript": "^6.0.0",
"@tsconfig/svelte": "^1.0.0",
"ace-builds": "^1.4.8",
"chart.js": "^2.9.4",
"cross-env": "^7.0.3",
"dbgate-datalib": "^3.9.5",
"dbgate-sqltree": "^3.9.5",
"dbgate-tools": "^3.9.5",

View File

@@ -10,17 +10,17 @@
<meta name="description"
content="DbGate - web based opensource database administration tool for MS SQL, MySQL, Postgre SQL" />
<link rel='icon' type='image/png' href='/favicon.ico'>
<link rel="manifest" href="/manifest.json" />
<link rel='icon' type='image/png' href='favicon.ico'>
<link rel="manifest" href="manifest.json" />
<link rel='stylesheet' href='/global.css'>
<link rel='stylesheet' href='/dimensions.css'>
<link rel='stylesheet' href='/bulma.css'>
<link rel='stylesheet' href='/icon-colors.css'>
<link rel='stylesheet' href='/build/bundle.css'>
<link rel='stylesheet' href='/build/fonts/materialdesignicons.css'>
<link rel='stylesheet' href='global.css'>
<link rel='stylesheet' href='dimensions.css'>
<link rel='stylesheet' href='bulma.css'>
<link rel='stylesheet' href='icon-colors.css'>
<link rel='stylesheet' href='build/bundle.css'>
<link rel='stylesheet' href='build/fonts/materialdesignicons.css'>
<script defer src='/build/bundle.js'></script>
<script defer src='build/bundle.js'></script>
</head>
<body>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="116" height="116" id="svg2">
<defs id="defs4"/>
<metadata id="metadata7">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<text x="10.710938" y="111.5" id="text2996" xml:space="preserve" style="font-size:144px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"><tspan x="10.710938" y="111.5" id="tspan2998" style="font-size:150px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial Bold">?</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -6,6 +6,7 @@ import copy from 'rollup-plugin-copy';
import { terser } from 'rollup-plugin-terser';
import sveltePreprocess from 'svelte-preprocess';
import typescript from '@rollup/plugin-typescript';
import replace from '@rollup/plugin-replace';
import css from 'rollup-plugin-css-only';
const production = !process.env.ROLLUP_WATCH;
@@ -43,16 +44,18 @@ export default {
copy({
targets: [
{
src:
'../../node_modules/@mdi/font/css/materialdesignicons.css',
src: '../../node_modules/@mdi/font/css/materialdesignicons.css',
dest: 'public/build/fonts/',
},
{
src:
'../../node_modules/@mdi/font/fonts/*',
dest: 'public/build/fonts/',
},
],
src: '../../node_modules/@mdi/font/fonts/*',
dest: 'public/build/fonts/',
},
],
}),
replace({
'process.env.API_URL': JSON.stringify(process.env.API_URL),
}),
svelte({

View File

@@ -12,8 +12,7 @@ export function extractPluginIcon(packageManifest) {
return `https://raw.githubusercontent.com/${match[1]}/${match[2]}/master/icon.svg`;
}
}
// eslint-disable-next-line no-undef
return `${process.env.PUBLIC_URL}/unknown.svg`;
return 'unknown.svg';
}
export function extractPluginAuthor(packageManifest) {

View File

@@ -1,3 +1,8 @@
let apiUrl = null;
try {
apiUrl = process.env.API_URL;
} catch {}
export default function resolveApi() {
if (window['require']) {
const electron = window['require']('electron');
@@ -10,12 +15,8 @@ export default function resolveApi() {
}
}
// // eslint-disable-next-line
// const apiUrl = process.env.REACT_APP_API_URL;
// if (apiUrl) {
// if (apiUrl == 'ORIGIN') return window.location.origin;
// return apiUrl;
// }
return 'http://localhost:3000';
if (apiUrl) {
return apiUrl;
}
return window.location.origin;
}

View File

@@ -386,6 +386,14 @@
is-module "^1.0.0"
resolve "^1.19.0"
"@rollup/plugin-replace@^2.4.1":
version "2.4.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.1.tgz#c411b5ab72809fb1bfc8b487d8d02eef661460d3"
integrity sha512-XwC1oK5rrtRJ0tn1ioLHS6OV5JTluJF7QE1J/q1hN3bquwjnVxjtMyY9iCnoyH9DQbf92CxajB3o98wZbP3oAQ==
dependencies:
"@rollup/pluginutils" "^3.1.0"
magic-string "^0.25.7"
"@rollup/plugin-typescript@^6.0.0":
version "6.1.0"
resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-6.1.0.tgz#289e7f0ea12fd659bd13ad59dda73b9055538b83"
@@ -1955,6 +1963,13 @@ cross-env@^6.0.3:
dependencies:
cross-spawn "^7.0.0"
cross-env@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
dependencies:
cross-spawn "^7.0.1"
cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -1984,6 +1999,15 @@ cross-spawn@^7.0.0:
shebang-command "^2.0.0"
which "^2.0.1"
cross-spawn@^7.0.1:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
dependencies:
path-key "^3.1.0"
shebang-command "^2.0.0"
which "^2.0.1"
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"