diff --git a/bin/build b/bin/build new file mode 100755 index 000000000..9e61e5d7a --- /dev/null +++ b/bin/build @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -euo pipefail + +esbuild app/javascript/application.ts \ + --bundle \ + --sourcemap \ + --format=iife \ + --outdir=app/assets/builds \ + --public-path=/assets \ + --alias:jquery=./node_modules/jquery/jquery.js \ + --alias:bootstrap=./node_modules/bootstrap/dist/js/bootstrap.js \ + --alias:jquery-visible=./node_modules/jquery-visible/jquery.visible.min.js diff --git a/bin/build_css b/bin/build_css new file mode 100755 index 000000000..d561f2e49 --- /dev/null +++ b/bin/build_css @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -euo pipefail + +esbuild app/assets/stylesheets/application.css \ + --bundle \ + --outdir=app/assets/builds \ + --public-path=/assets \ + --external:/img/* \ + --loader:.woff=file \ + --loader:.woff2=file \ + --loader:.eot=file \ + --loader:.ttf=file \ + --loader:.svg=file diff --git a/package.json b/package.json index 38c531b60..37e71642e 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,8 @@ "vitest": "^4.0.18" }, "scripts": { - "build": "esbuild app/javascript/application.ts --bundle --sourcemap --format=iife --outdir=app/assets/builds --public-path=/assets --alias:jquery=./node_modules/jquery/jquery.js --alias:bootstrap=./node_modules/bootstrap/dist/js/bootstrap.js --alias:jquery-visible=./node_modules/jquery-visible/jquery.visible.min.js", - "build:css": "esbuild app/assets/stylesheets/application.css --bundle --outdir=app/assets/builds --public-path=/assets --external:/img/* --loader:.woff=file --loader:.woff2=file --loader:.eot=file --loader:.ttf=file --loader:.svg=file", + "build": "bin/build", + "build:css": "bin/build_css", "eslint": "eslint ./ --cache --max-warnings=0", "eslint_find_unused_rules": "eslint-find-rules --unused --flatConfig --no-core eslint.config.ts", "pretest": "pnpm tscheck && pnpm eslint",