mirror of
https://github.com/penpot/penpot.git
synced 2025-05-19 01:06:09 +02:00
♻️ Refactor on docker and build scripts.
- Migrate to from ubuntu to debian. - Add new buildenv image. - Remove production images building from this repo. - Better comaptibility with other architectures (arm64). - Improved config management.
This commit is contained in:
parent
655c7ae023
commit
f57ce57cb3
26 changed files with 400 additions and 5348 deletions
|
@ -1,20 +1,19 @@
|
|||
const gulp = require("gulp");
|
||||
const scss = require("gulp-sass");
|
||||
const autoprefixer = require('gulp-autoprefixer');
|
||||
const rimraf = require("rimraf");
|
||||
const mustache = require("gulp-mustache");
|
||||
const rename = require("gulp-rename");
|
||||
const gulpif = require("gulp-if");
|
||||
const gzip = require("gulp-gzip");
|
||||
const cleancss = require("gulp-clean-css");
|
||||
const fs = require("fs");
|
||||
const gulp = require("gulp");
|
||||
const gulpif = require("gulp-if");
|
||||
const gzip = require("gulp-gzip");
|
||||
const l = require("lodash");
|
||||
const mustache = require("gulp-mustache");
|
||||
const rename = require("gulp-rename");
|
||||
const rimraf = require("rimraf");
|
||||
const scss = require("gulp-sass");
|
||||
|
||||
const paths = {};
|
||||
paths.app = "./resources/";
|
||||
paths.output = "./resources/public/";
|
||||
paths.dist = "./dist/";
|
||||
paths.target = "./target/";
|
||||
paths.dist = "./target/dist/";
|
||||
paths.scss = paths.app + "styles/**/*.scss";
|
||||
|
||||
/***********************************************
|
||||
|
@ -34,10 +33,7 @@ gulp.task("dist:clean", function(next) {
|
|||
});
|
||||
|
||||
function makeAutoprefixer() {
|
||||
return autoprefixer('last 2 version',
|
||||
'safari 5',
|
||||
'ios 6',
|
||||
'android 4');
|
||||
return autoprefixer('last 2 version');
|
||||
}
|
||||
|
||||
|
||||
|
@ -74,12 +70,12 @@ gulp.task("scss:main", scssPipeline({
|
|||
output: paths.output + "css/"
|
||||
}));
|
||||
|
||||
gulp.task("scss:view", scssPipeline({
|
||||
input: paths.app + "styles/view.scss",
|
||||
output: paths.output + "css/"
|
||||
}));
|
||||
// gulp.task("scss:view", scssPipeline({
|
||||
// input: paths.app + "styles/view.scss",
|
||||
// output: paths.output + "css/"
|
||||
// }));
|
||||
|
||||
gulp.task("scss", gulp.parallel("scss:main", "scss:view"));
|
||||
gulp.task("scss", gulp.parallel("scss:main"));
|
||||
|
||||
function readLocales() {
|
||||
const path = __dirname + "/resources/locales.json";
|
||||
|
@ -125,12 +121,12 @@ gulp.task("template:main", templatePipeline({
|
|||
output: paths.output
|
||||
}));
|
||||
|
||||
gulp.task("template:view", templatePipeline({
|
||||
input: paths.app + "templates/view.mustache",
|
||||
output: paths.output + "view/"
|
||||
}));
|
||||
// gulp.task("template:view", templatePipeline({
|
||||
// input: paths.app + "templates/view.mustache",
|
||||
// output: paths.output + "view/"
|
||||
// }));
|
||||
|
||||
gulp.task("templates", gulp.parallel("template:view", "template:main"));
|
||||
gulp.task("templates", gulp.parallel("template:main"));
|
||||
|
||||
// Entry Point
|
||||
|
||||
|
@ -157,16 +153,16 @@ gulp.task("dist:clean", function(next) {
|
|||
// Templates
|
||||
|
||||
gulp.task("dist:template:main", templatePipeline({
|
||||
input: paths.app + "index.mustache",
|
||||
input: paths.app + "templates/index.mustache",
|
||||
output: paths.dist,
|
||||
}));
|
||||
|
||||
gulp.task("dist:template:view", templatePipeline({
|
||||
input: paths.app + "view.mustache",
|
||||
output: paths.dist + "view/",
|
||||
}));
|
||||
// gulp.task("dist:template:view", templatePipeline({
|
||||
// input: paths.app + "view.mustache",
|
||||
// output: paths.dist + "view/",
|
||||
// }));
|
||||
|
||||
gulp.task("dist:templates", gulp.parallel("dist:template:view", "dist:template:main"));
|
||||
gulp.task("dist:templates", gulp.parallel("dist:template:main"));
|
||||
|
||||
// Styles
|
||||
|
||||
|
@ -175,12 +171,12 @@ gulp.task("dist:scss:main", scssPipeline({
|
|||
output: paths.dist + "css/"
|
||||
}));
|
||||
|
||||
gulp.task("dist:scss:view", scssPipeline({
|
||||
input: paths.app + "styles/view.scss",
|
||||
output: paths.dist + "css/"
|
||||
}));
|
||||
// gulp.task("dist:scss:view", scssPipeline({
|
||||
// input: paths.app + "styles/view.scss",
|
||||
// output: paths.dist + "css/"
|
||||
// }));
|
||||
|
||||
gulp.task("dist:scss", gulp.parallel("dist:scss:main", "dist:scss:view"));
|
||||
gulp.task("dist:scss", gulp.parallel("dist:scss:main"));
|
||||
|
||||
// Copy
|
||||
|
||||
|
|
4965
frontend/package-lock.json
generated
4965
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -4,7 +4,7 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge" />
|
||||
<title>UXBOX - The Open-Source prototyping tool</title>
|
||||
<link href="/css/main.css?ts={{& ts}}" rel="stylesheet" type="text/css" />
|
||||
<link href="css/main.css?ts={{& ts}}" rel="stylesheet" type="text/css" />
|
||||
<link rel="icon" href="/images/favicon.png" />
|
||||
</head>
|
||||
<body>
|
||||
|
@ -13,8 +13,8 @@
|
|||
<section id="loader"></section>
|
||||
<section id="modal"></section>
|
||||
|
||||
<script src="/js/cljs_base.js?ts={{& ts}}"></script>
|
||||
<script src="/js/main.js?ts={{& ts}}"></script>
|
||||
<script src="js/cljs_base.js?ts={{& ts}}"></script>
|
||||
<script src="js/main.js?ts={{& ts}}"></script>
|
||||
<script>uxbox.main.init({{& tr }})</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
16
frontend/scripts/build-app.sh
Executable file
16
frontend/scripts/build-app.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
source ~/.bashrc
|
||||
export NODE_ENV=production;
|
||||
|
||||
set -ex
|
||||
|
||||
npx gulp dist:clean || exit 1;
|
||||
npx gulp dist || exit 1;
|
||||
|
||||
cp -r ./target/dist ./target/dist2
|
||||
mv ./target/dist2 ./target/dist/dbg
|
||||
|
||||
clojure -Adev tools.clj dist:all || exit 1;
|
||||
|
||||
npx gulp dist:gzip || exit 1;
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
source ~/.bashrc
|
||||
|
||||
set -ex
|
||||
|
||||
npm ci
|
||||
|
||||
npx gulp dist:clean || exit 1
|
||||
npx gulp dist || exit 1
|
||||
|
||||
clojure -Adev tools.clj dbg-dist:all || exit 1
|
||||
|
||||
npx gulp dist:gzip || exit 1
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
source ~/.bashrc
|
||||
|
||||
set -ex
|
||||
|
||||
npm ci
|
||||
|
||||
export NODE_ENV=production;
|
||||
|
||||
npx gulp dist:clean || exit 1;
|
||||
npx gulp dist || exit 1;
|
||||
|
||||
clojure -Adev tools.clj dist:all || exit 1
|
||||
|
||||
npx gulp dist:gzip || exit 1
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
;; This excludes webworker instantiation on nodejs where
|
||||
;; the tests are run.
|
||||
(when (not= *target* "nodejs")
|
||||
(defonce worker (uw/init "/js/worker.js")))
|
||||
(defonce worker (uw/init "js/worker.js")))
|
||||
|
||||
(defn align-point
|
||||
[point]
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
:anon-fn-naming-policy :mapped
|
||||
:optimizations :none
|
||||
:infer-externs true
|
||||
:verbose false
|
||||
:verbose true
|
||||
:source-map true
|
||||
:static-fns false
|
||||
:pretty-print true
|
||||
|
@ -63,9 +63,9 @@
|
|||
:asset-path "/js"
|
||||
:modules {:main {:entries #{"uxbox.main"}
|
||||
:output-to "resources/public/js/main.js"}
|
||||
:view {:entries #{"uxbox.view"}
|
||||
:output-to "resources/public/js/view.js"
|
||||
}}})
|
||||
;; :view {:entries #{"uxbox.view"}
|
||||
;; :output-to "resources/public/js/view.js"}
|
||||
}})
|
||||
|
||||
(def worker-build-options
|
||||
{:main 'uxbox.worker
|
||||
|
@ -78,36 +78,42 @@
|
|||
(-> (merge default-build-options
|
||||
main-build-options
|
||||
dist-build-options)
|
||||
(assoc :output-dir "dist/js")
|
||||
(assoc-in [:modules :main :output-to] "dist/js/main.js")
|
||||
(assoc-in [:modules :view :output-to] "dist/js/view.js")))
|
||||
(assoc :output-dir "target/dist/js/")
|
||||
(assoc-in [:modules :main :output-to] "target/dist/js/main.js")
|
||||
#_(assoc-in [:modules :view :output-to] "target/dist/js/view.js")))
|
||||
|
||||
(def main-dbg-dist-build-options
|
||||
(merge main-dist-build-options
|
||||
{:optimizations :advanced
|
||||
:pseudo-names true
|
||||
:pretty-print true}))
|
||||
(def main-dist-dbg-build-options
|
||||
(-> (merge main-dist-build-options
|
||||
{:optimizations :advanced
|
||||
:pseudo-names true
|
||||
:pretty-print true})
|
||||
(assoc :output-dir "target/dist/dbg/js/")
|
||||
(assoc-in [:modules :main :output-to] "target/dist/dbg/js/main.js")
|
||||
#_(assoc-in [:modules :view :output-to] "target/dist/dbg/js/view.js")))
|
||||
|
||||
(def worker-dist-build-options
|
||||
(merge default-build-options
|
||||
worker-build-options
|
||||
dist-build-options
|
||||
{:output-to "dist/js/worker.js"
|
||||
:output-dir "dist/js/worker"
|
||||
:source-map "dist/js/worker.js.map"}))
|
||||
{:output-to "target/dist/js/worker.js"
|
||||
:output-dir "target/dist/js/worker"
|
||||
:source-map "target/dist/js/worker.js.map"}))
|
||||
|
||||
(def worker-dbg-dist-build-options
|
||||
(def worker-dist-dbg-build-options
|
||||
(merge worker-dist-build-options
|
||||
{:optimizations :advanced
|
||||
:pseudo-names true
|
||||
:pretty-print true}))
|
||||
:pretty-print true
|
||||
:output-to "target/dist/dbg/js/worker.js"
|
||||
:output-dir "target/dist/dbg/js/worker"
|
||||
:source-map "target/dist/dbg/js/worker.js.map"}))
|
||||
|
||||
;; --- Tasks Definitions
|
||||
|
||||
(defmethod task "dist:main"
|
||||
[args]
|
||||
(let [cfg main-dist-build-options]
|
||||
(pprint cfg)
|
||||
;; (pprint cfg)
|
||||
(api/build (api/inputs "src") cfg)))
|
||||
|
||||
(defmethod task "dist:worker"
|
||||
|
@ -116,27 +122,24 @@
|
|||
;; (pprint cfg)
|
||||
(api/build (api/inputs "src") cfg)))
|
||||
|
||||
(defmethod task "dbg-dist:main"
|
||||
(defmethod task "dist-dbg:main"
|
||||
[args]
|
||||
(let [cfg main-dbg-dist-build-options]
|
||||
(let [cfg main-dist-dbg-build-options]
|
||||
;; (pprint cfg)
|
||||
(api/build (api/inputs "src") cfg)))
|
||||
|
||||
(defmethod task "dbg-dist:worker"
|
||||
(defmethod task "dist-dbg:worker"
|
||||
[args]
|
||||
(let [cfg worker-dbg-dist-build-options]
|
||||
(let [cfg worker-dist-dbg-build-options]
|
||||
;; (pprint cfg)
|
||||
(api/build (api/inputs "src") cfg)))
|
||||
|
||||
(defmethod task "dist:all"
|
||||
[args]
|
||||
(task ["dist:main"])
|
||||
(task ["dist:worker"]))
|
||||
|
||||
(defmethod task "dbg-dist:all"
|
||||
[args]
|
||||
(task ["dbg-dist:main"])
|
||||
(task ["dbg-dist:worker"]))
|
||||
(task ["dist:worker"])
|
||||
(task ["dist-dbg:main"])
|
||||
(task ["dist-dbg:worker"]))
|
||||
|
||||
(defmethod task "repl:node"
|
||||
[args]
|
||||
|
@ -157,7 +160,7 @@
|
|||
(api/build (api/inputs "src" "test")
|
||||
(assoc default-build-options
|
||||
:main 'uxbox.tests.main
|
||||
:verbose false
|
||||
:verbose true
|
||||
:target :nodejs
|
||||
:source-map true
|
||||
:output-to "target/tests/main.js"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue