diff --git a/Dockerfile b/Dockerfile index c83a954..03495ca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,14 +55,6 @@ FROM base AS application COPY --from=build "${BUNDLE_PATH}" "${BUNDLE_PATH}" COPY --from=build /rails /rails -# Create an application-specific user. -RUN addgroup --system rails \ - && adduser -G rails --system rails \ - && chown -R rails:rails db log storage tmp - -# Switch to the user. -USER rails:rails - # Set a custom entrypoint. ENTRYPOINT ["bin/docker-entrypoint"] diff --git a/Gemfile b/Gemfile index 1e88381..3a7d283 100644 --- a/Gemfile +++ b/Gemfile @@ -20,7 +20,7 @@ gem "solid_queue", "1.1.2" gem "sqlite3", "2.5.0" gem "stimulus-rails", "1.3.4" gem "tailwindcss-rails", "3.1.0" -gem "thruster", "0.1.9", require: false +gem "thruster", "0.1.10", require: false gem "turbo-rails", "2.0.11" group :development, :test do @@ -28,14 +28,14 @@ group :development, :test do end group :development do - gem "brakeman", "6.2.2", require: false - gem "erb_lint", "0.7.0", require: false + gem "brakeman", "7.0.0", require: false + gem "erb_lint", "0.8.0", require: false gem "listen", "3.9.0" gem "rack-mini-profiler", "3.3.1" gem "rubocop", "1.69.2", require: false gem "rubocop-capybara", "2.21.0", require: false gem "rubocop-factory_bot", "2.26.1", require: false - gem "rubocop-performance", "1.23.0", require: false + gem "rubocop-performance", "1.23.1", require: false gem "rubocop-rails", "2.28.0", require: false gem "rubocop-rake", "0.6.0", require: false gem "rubocop-rspec", "3.3.0", require: false diff --git a/Gemfile.lock b/Gemfile.lock index e558c52..42b87ed 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -91,7 +91,7 @@ GEM bindex (0.8.1) bootsnap (1.18.4) msgpack (~> 1.2) - brakeman (6.2.2) + brakeman (7.0.0) racc builder (3.3.0) capybara (3.40.0) @@ -105,7 +105,7 @@ GEM xpath (~> 3.2) climate_control (1.2.0) concurrent-ruby (1.3.4) - connection_pool (2.4.1) + connection_pool (2.5.0) crass (1.0.6) database_cleaner (2.1.0) database_cleaner-active_record (>= 2, < 3) @@ -119,7 +119,7 @@ GEM dotenv (3.1.7) drb (2.2.1) ed25519 (1.3.0) - erb_lint (0.7.0) + erb_lint (0.8.0) activesupport better_html (>= 2.0.1) parser (>= 2.7.1.4) @@ -218,7 +218,7 @@ GEM sqlite3 logfmt (0.0.10) logger (1.6.4) - loofah (2.23.1) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -232,7 +232,7 @@ GEM mini_portile2 (2.8.8) minitest (5.25.4) msgpack (1.7.5) - net-imap (0.5.4) + net-imap (0.5.5) date net-protocol net-pop (0.1.2) @@ -286,7 +286,8 @@ GEM rack (3.1.8) rack-mini-profiler (3.3.1) rack (>= 1.2.0) - rack-session (2.0.0) + rack-session (2.1.0) + base64 (>= 0.1.0) rack (>= 3.0.0) rack-test (2.2.0) rack (>= 1.3) @@ -370,7 +371,7 @@ GEM rubocop (~> 1.41) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-performance (1.23.0) + rubocop-performance (1.23.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.28.0) @@ -386,7 +387,7 @@ GEM rubocop (~> 1.61) rubocop-rspec (~> 3, >= 3.0.1) ruby-progressbar (1.13.0) - rubyzip (2.3.2) + rubyzip (2.4.1) securerandom (0.4.1) selenium-webdriver (4.27.0) base64 (~> 0.2) @@ -454,11 +455,11 @@ GEM terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.3.2) - thruster (0.1.9) - thruster (0.1.9-aarch64-linux) - thruster (0.1.9-arm64-darwin) - thruster (0.1.9-x86_64-darwin) - thruster (0.1.9-x86_64-linux) + thruster (0.1.10) + thruster (0.1.10-aarch64-linux) + thruster (0.1.10-arm64-darwin) + thruster (0.1.10-x86_64-darwin) + thruster (0.1.10-x86_64-linux) timeout (0.4.3) turbo-rails (2.0.11) actionpack (>= 6.0.0) @@ -474,7 +475,8 @@ GEM bindex (>= 0.4.0) railties (>= 6.0.0) websocket (1.2.11) - websocket-driver (0.7.6) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -500,11 +502,11 @@ PLATFORMS DEPENDENCIES bcrypt (= 3.1.20) bootsnap (= 1.18.4) - brakeman (= 6.2.2) + brakeman (= 7.0.0) capybara (= 3.40.0) climate_control (= 1.2.0) database_cleaner (= 2.1.0) - erb_lint (= 0.7.0) + erb_lint (= 0.8.0) factory_bot_rails (= 6.4.4) faker (= 3.5.1) hotwire-rails (= 0.1.3) @@ -523,7 +525,7 @@ DEPENDENCIES rubocop (= 1.69.2) rubocop-capybara (= 2.21.0) rubocop-factory_bot (= 2.26.1) - rubocop-performance (= 1.23.0) + rubocop-performance (= 1.23.1) rubocop-rails (= 2.28.0) rubocop-rake (= 0.6.0) rubocop-rspec (= 3.3.0) @@ -537,7 +539,7 @@ DEPENDENCIES sqlite3 (= 2.5.0) stimulus-rails (= 1.3.4) tailwindcss-rails (= 3.1.0) - thruster (= 0.1.9) + thruster (= 0.1.10) turbo-rails (= 2.0.11) web-console (= 4.2.1) diff --git a/package.json b/package.json index 27eca8f..45eeb46 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "chai": "5.1.2", "eslint": "9.17.0", "jsdom": "25.0.1", - "mocha": "11.0.1", + "mocha": "11.1.0", "sinon": "19.0.2", "sinon-chai": "4.0.0", "stylelint": "16.12.0", @@ -27,5 +27,5 @@ "engines": { "node": "22.12.0" }, - "packageManager": "yarn@4.5.3" + "packageManager": "yarn@4.6.0" } diff --git a/yarn.lock b/yarn.lock index a43983c..7a621bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -684,17 +684,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -1100,15 +1089,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe languageName: node linkType: hard @@ -1127,9 +1116,9 @@ __metadata: linkType: hard "fast-uri@npm:^3.0.1": - version: 3.0.3 - resolution: "fast-uri@npm:3.0.3" - checksum: 10c0/4b2c5ce681a062425eae4f15cdc8fc151fd310b2f69b1f96680677820a8b49c3cd6e80661a406e19d50f0c40a3f8bffdd458791baf66f4a879d80be28e10a320 + version: 3.0.5 + resolution: "fast-uri@npm:3.0.5" + checksum: 10c0/f5501fd849e02f16f1730d2c8628078718c492b5bc00198068bc5c2880363ae948287fdc8cebfff47465229b517dbeaf668866fbabdff829b4138a899e5c2ba3 languageName: node linkType: hard @@ -1141,11 +1130,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.18.0 + resolution: "fastq@npm:1.18.0" dependencies: reusify: "npm:^1.0.4" - checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + checksum: 10c0/7be87ecc41762adbddf558d24182f50a4b1a3ef3ee807d33b7623da7aee5faecdcc94fce5aa13fe91df93e269f383232bbcdb2dc5338cd1826503d6063221f36 languageName: node linkType: hard @@ -1870,7 +1859,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -2009,9 +1998,9 @@ __metadata: languageName: node linkType: hard -"mocha@npm:11.0.1": - version: 11.0.1 - resolution: "mocha@npm:11.0.1" +"mocha@npm:11.1.0": + version: 11.1.0 + resolution: "mocha@npm:11.1.0" dependencies: ansi-colors: "npm:^4.1.3" browser-stdout: "npm:^1.3.1" @@ -2030,13 +2019,13 @@ __metadata: strip-json-comments: "npm:^3.1.1" supports-color: "npm:^8.1.1" workerpool: "npm:^6.5.1" - yargs: "npm:^16.2.0" - yargs-parser: "npm:^20.2.9" + yargs: "npm:^17.7.2" + yargs-parser: "npm:^21.1.1" yargs-unparser: "npm:^2.0.0" bin: _mocha: bin/_mocha mocha: bin/mocha.js - checksum: 10c0/b290a308c318efca84304e907b5d5f4cb047ee8e27eac401c56a00251f944cac9f9af9a379e5952b82e05446a08654ed06c6fea9c55447c5fe2330673f616ff3 + checksum: 10c0/46e063fb014bef8c7f290094325ee2666ef9f63a918573f5278781631d4b3d04e45abe35f776307ff19e837bc2b42e4f2a7c60c53b69517539890636cf8e49ec languageName: node linkType: hard @@ -2784,21 +2773,21 @@ __metadata: languageName: node linkType: hard -"tldts-core@npm:^6.1.68": - version: 6.1.68 - resolution: "tldts-core@npm:6.1.68" - checksum: 10c0/7ce2d0526aaf80656e746e322f9632b92afd07702c5aa61f92f908d325d4878fe6654d94039f30f625b32e7ff934e36cb83722b2e62c752ae34beed40fa1d123 +"tldts-core@npm:^6.1.71": + version: 6.1.71 + resolution: "tldts-core@npm:6.1.71" + checksum: 10c0/68c4e9ea7f02f14f811f5be5b50b176b099bc8385cae177b8265c1bb0c45215efecf54195a267326848024a24e204bba6d9f47cb899da1d81fd00da0c7f661b7 languageName: node linkType: hard "tldts@npm:^6.1.32": - version: 6.1.68 - resolution: "tldts@npm:6.1.68" + version: 6.1.71 + resolution: "tldts@npm:6.1.71" dependencies: - tldts-core: "npm:^6.1.68" + tldts-core: "npm:^6.1.71" bin: tldts: bin/cli.js - checksum: 10c0/adbc9b23fa18a150e5124daec853ec1a2c7b656e2e294855b52ef2f7f7d5266660392ae222840862b6360165f7adbc3ae731f78f0a0f96ee1b4558328e428a55 + checksum: 10c0/fb1bfb6ec78ce334b9d7b0c8813ab553a9f9f8759d681e6f109dd55caced45f901a19d162d8bc2f12b37afc366e438154248ae1dab67ad091565146b8e57d217 languageName: node linkType: hard @@ -2880,7 +2869,7 @@ __metadata: chai: "npm:5.1.2" eslint: "npm:9.17.0" jsdom: "npm:25.0.1" - mocha: "npm:11.0.1" + mocha: "npm:11.1.0" sinon: "npm:19.0.2" sinon-chai: "npm:4.0.0" stylelint: "npm:16.12.0" @@ -3086,13 +3075,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -3112,21 +3094,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 - languageName: node - linkType: hard - "yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2"