From c2e68bdc77622369a6c2633e776b3ffc129d5323 Mon Sep 17 00:00:00 2001 From: Harvey Tindall Date: Thu, 11 Feb 2021 18:21:21 +0000 Subject: [PATCH] add GOESBUILD option for platform without esbuild on npm --- .goreleaser.yml | 1 + Dockerfile | 2 +- Makefile | 26 +++++++++++++++++++------- go.mod | 3 ++- go.sum | 5 +++++ package.json | 1 - 6 files changed, 28 insertions(+), 10 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 5c6f3d7..723dc70 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -11,6 +11,7 @@ before: - mkdir -p data - cp -r static data/web - npm install + - npm install esbuild - mkdir -p data/web/css - npx esbuild --bundle css/base.css --outfile=./data/web/css/bundle.css --external:remixicon.css --minify - cp node_modules/remixicon/fonts/remixicon.css node_modules/remixicon/fonts/remixicon.woff2 data/web/css/ diff --git a/Dockerfile b/Dockerfile index c8f94ac..284851d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN apt update -y \ && apt install build-essential python3-pip curl software-properties-common sed upx -y \ && (curl -sL https://deb.nodesource.com/setup_14.x | bash -) \ && apt install nodejs \ - && (cd /opt/build; make all; make compress) \ + && (cd /opt/build; make all GOESBUILD=on; make compress) \ && sed -i 's#id="password_resets-watch_directory" placeholder="/config/jellyfin"#id="password_resets-watch_directory" value="/jf" disabled#g' /opt/build/build/data/html/setup.html FROM golang:latest diff --git a/Makefile b/Makefile index c0b98a7..06af118 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,18 @@ +GOESBUILD ?= off +ifeq ($(GOESBUILD), on) + ESBUILD := esbuild +else + ESBUILD := npx esbuild +endif + npm: $(info installing npm dependencies) npm install + @if [ "$(GOESBUILD)" = "off" ]; then\ + npm install esbuild;\ + else\ + go get -u github.com/evanw/esbuild/cmd/esbuild;\ + fi configuration: $(info Fixing config-base) @@ -16,16 +28,16 @@ email: typescript: $(info compiling typescript) -mkdir -p build/data/web/js - -npx esbuild --bundle ts/admin.ts --outfile=./build/data/web/js/admin.js --minify - -npx esbuild --bundle ts/form.ts --outfile=./build/data/web/js/form.js --minify - -npx esbuild --bundle ts/setup.ts --outfile=./build/data/web/js/setup.js --minify + -$(ESBUILD) --bundle ts/admin.ts --outfile=./build/data/web/js/admin.js --minify + -$(ESBUILD) --bundle ts/form.ts --outfile=./build/data/web/js/form.js --minify + -$(ESBUILD) --bundle ts/setup.ts --outfile=./build/data/web/js/setup.js --minify ts-debug: $(info compiling typescript w/ sourcemaps) -mkdir -p build/data/web/js - -npx esbuild --bundle ts/admin.ts --sourcemap --outfile=./build/data/web/js/admin.js - -npx esbuild --bundle ts/form.ts --sourcemap --outfile=./build/data/web/js/form.js - -npx esbuild --bundle ts/setup.ts --sourcemap --outfile=./build/data/web/js/setup.js + -$(ESBUILD) --bundle ts/admin.ts --sourcemap --outfile=./build/data/web/js/admin.js + -$(ESBUILD) --bundle ts/form.ts --sourcemap --outfile=./build/data/web/js/form.js + -$(ESBUILD) --bundle ts/setup.ts --sourcemap --outfile=./build/data/web/js/setup.js -rm -r build/data/web/js/ts $(info copying typescript) cp -r ts build/data/web/js @@ -50,7 +62,7 @@ compress: bundle-css: -mkdir -p build/data/web/css $(info bundling css) - npx esbuild --bundle css/base.css --outfile=build/data/web/css/bundle.css --external:remixicon.css --minify + $(ESBUILD) esbuild --bundle css/base.css --outfile=build/data/web/css/bundle.css --external:remixicon.css --minify copy: $(info copying fonts) diff --git a/go.mod b/go.mod index b9e3f46..42f2a71 100644 --- a/go.mod +++ b/go.mod @@ -13,6 +13,7 @@ replace github.com/hrfee/jfa-go/ombi => ./ombi require ( github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect github.com/dgrijalva/jwt-go v3.2.0+incompatible + github.com/evanw/esbuild v0.8.44 // indirect github.com/fsnotify/fsnotify v1.4.9 github.com/gin-contrib/pprof v1.3.0 github.com/gin-contrib/static v0.0.0-20200916080430-d45d9a37d28e @@ -48,7 +49,7 @@ require ( github.com/urfave/cli/v2 v2.3.0 // indirect golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 // indirect golang.org/x/net v0.0.0-20210119194325-5f4716e94777 // indirect - golang.org/x/sys v0.0.0-20210123111255-9b0068b26619 // indirect + golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c // indirect golang.org/x/text v0.3.5 // indirect golang.org/x/tools v0.1.0 // indirect google.golang.org/protobuf v1.25.0 // indirect diff --git a/go.sum b/go.sum index 64d4a64..b2b2fdf 100644 --- a/go.sum +++ b/go.sum @@ -24,6 +24,8 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanw/esbuild v0.8.44 h1:9svHk3MxC3T8ThKkUJ71GcPXYGMhxhO5iCfg2hrU0PU= +github.com/evanw/esbuild v0.8.44/go.mod h1:y2AFBAGVelPqPodpdtxWWqe6n2jYf5FrsJbligmRmuw= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= @@ -353,6 +355,7 @@ golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200116001909-b77594299b42 h1:vEOn+mP2zCOVzKckCZy6YsCtDblrpj/w7B9nxGNELpg= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501145240-bc7a7d42d5c3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1 h1:sIky/MyNRSHTrdxfsiUSS4WIAMvInbeXljJz+jDjeYE= golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed h1:J22ig1FUekjjkmZUM7pTKixYm8DvrYsvrBZdunYeIuQ= @@ -369,6 +372,8 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4 h1:myAQVi0cGEoqQVR5POX+8RR2m golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210123111255-9b0068b26619 h1:yLLDsUUPDliIQpKl7BjVb1igwngIMH2GBjo1VpwLTE0= golang.org/x/sys v0.0.0-20210123111255-9b0068b26619/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= diff --git a/package.json b/package.json index f6f6476..2ea8a8d 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "homepage": "https://github.com/hrfee/jfa-go#readme", "dependencies": { "a17t": "^0.4.0", - "esbuild": "^0.7.8", "lodash": "^4.17.19", "mjml": "^4.8.0", "remixicon": "^2.5.0",