From 1a62a0f76867c22f3a0a4a94ff0e0ea70a0c26f7 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Fri, 9 Jan 2026 16:50:57 -0800 Subject: [PATCH 1/4] Fixing generated project formatting issues --- src/web_app_skeleton/config/server.cr.ecr | 2 +- src/web_app_skeleton/src/app.cr.ecr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web_app_skeleton/config/server.cr.ecr b/src/web_app_skeleton/config/server.cr.ecr index bdd6867e..48d04b2a 100644 --- a/src/web_app_skeleton/config/server.cr.ecr +++ b/src/web_app_skeleton/config/server.cr.ecr @@ -65,4 +65,4 @@ end private def raise_missing_secret_key_in_production puts "Please set the SECRET_KEY_BASE environment variable. You can generate a secret key with 'lucky gen.secret_key'".colorize.red exit(1) -end \ No newline at end of file +end diff --git a/src/web_app_skeleton/src/app.cr.ecr b/src/web_app_skeleton/src/app.cr.ecr index 2f9f817b..0944a102 100644 --- a/src/web_app_skeleton/src/app.cr.ecr +++ b/src/web_app_skeleton/src/app.cr.ecr @@ -38,4 +38,4 @@ require "./components/**" require "./pages/**" <%- end -%> require "../db/migrations/**" -require "./app_server" \ No newline at end of file +require "./app_server" From 19c50db9862bd9c26702b749e00bbd18045dce17 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Fri, 9 Jan 2026 16:52:25 -0800 Subject: [PATCH 2/4] Fixing compile-time error when loading manifest on generated projects --- src/web_app_skeleton/src/app.cr.ecr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web_app_skeleton/src/app.cr.ecr b/src/web_app_skeleton/src/app.cr.ecr index 0944a102..9780afbb 100644 --- a/src/web_app_skeleton/src/app.cr.ecr +++ b/src/web_app_skeleton/src/app.cr.ecr @@ -5,9 +5,9 @@ require "./shards" # In development, vite-plugin-dev-manifest creates public/manifest.dev.json # In production, Vite creates public/.vite/manifest.json # The manifest path is determined by which file exists at compile time -{% if File.exists?("public/manifest.dev.json") %} +{% if file_exists?("public/manifest.dev.json") %} Lucky::AssetHelpers.load_manifest "public/manifest.dev.json", use_vite: true -{% elsif File.exists?("public/.vite/manifest.json") %} +{% elsif file_exists?("public/.vite/manifest.json") %} Lucky::AssetHelpers.load_manifest "public/.vite/manifest.json", use_vite: true {% else %} # For initial compilation, we'll assume development mode From a056ec00dba79ca53b3475cb94c7feca0f8b1341 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Fri, 9 Jan 2026 16:54:39 -0800 Subject: [PATCH 3/4] Generate an initial asset manifest on setup so tasks will run properly --- src/web_app_skeleton/script/setup.cr.ecr | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/web_app_skeleton/script/setup.cr.ecr b/src/web_app_skeleton/script/setup.cr.ecr index ee90949f..0fcdb517 100644 --- a/src/web_app_skeleton/script/setup.cr.ecr +++ b/src/web_app_skeleton/script/setup.cr.ecr @@ -10,6 +10,9 @@ print_done notice "Installing node dependencies" run_command "yarn", "install", "--no-progress" +notice "Building initial asset manifest" +run_command "yarn", "build" + print_done <%- end -%> From 1a2a4402087139e32b79f6b37d0ed2b41f60f6b9 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Fri, 9 Jan 2026 17:17:59 -0800 Subject: [PATCH 4/4] Update javascript dependencies for generated projects --- src/browser_app_skeleton/package.json.ecr | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/browser_app_skeleton/package.json.ecr b/src/browser_app_skeleton/package.json.ecr index 3a64c995..bd03207b 100644 --- a/src/browser_app_skeleton/package.json.ecr +++ b/src/browser_app_skeleton/package.json.ecr @@ -4,7 +4,7 @@ "type": "module", "dependencies": { "@rails/ujs": "^7.1.0", - "modern-normalize": "^2.0.0" + "modern-normalize": "^3.0.1" }, "scripts": { "heroku-postbuild": "yarn build", @@ -14,9 +14,9 @@ "watch": "vite build --watch" }, "devDependencies": { - "sass": "^1.69.5", - "vite": "^5.0.0", + "sass": "^1.97.2", + "vite": "^7.3.1", "vite-plugin-compression": "^0.5.1", - "vite-plugin-dev-manifest": "^1.2.1" + "vite-plugin-dev-manifest": "^1.4.1" } } \ No newline at end of file