You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(11) |
Jun
(33) |
Jul
(31) |
Aug
(18) |
Sep
(3) |
Oct
(16) |
Nov
(3) |
Dec
(7) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(13) |
Feb
(10) |
Mar
(9) |
Apr
(18) |
May
(22) |
Jun
(12) |
Jul
(20) |
Aug
(36) |
Sep
(7) |
Oct
(4) |
Nov
(13) |
Dec
(9) |
2010 |
Jan
(12) |
Feb
(6) |
Mar
(16) |
Apr
(34) |
May
(8) |
Jun
(9) |
Jul
|
Aug
(53) |
Sep
(37) |
Oct
(78) |
Nov
(11) |
Dec
(40) |
2011 |
Jan
(20) |
Feb
(25) |
Mar
(59) |
Apr
(20) |
May
(37) |
Jun
(52) |
Jul
(36) |
Aug
(56) |
Sep
(45) |
Oct
(20) |
Nov
(36) |
Dec
(11) |
2012 |
Jan
(18) |
Feb
(60) |
Mar
(67) |
Apr
(39) |
May
(44) |
Jun
(25) |
Jul
(7) |
Aug
(59) |
Sep
(183) |
Oct
(102) |
Nov
(44) |
Dec
(88) |
2013 |
Jan
(117) |
Feb
(87) |
Mar
(44) |
Apr
(23) |
May
(948) |
Jun
(45) |
Jul
(72) |
Aug
(30) |
Sep
(29) |
Oct
(15) |
Nov
(25) |
Dec
(14) |
2014 |
Jan
(12) |
Feb
(48) |
Mar
(4) |
Apr
(6) |
May
(30) |
Jun
(18) |
Jul
(8) |
Aug
(37) |
Sep
(30) |
Oct
(34) |
Nov
(34) |
Dec
(25) |
2015 |
Jan
(56) |
Feb
(41) |
Mar
(23) |
Apr
(4) |
May
(9) |
Jun
(8) |
Jul
(9) |
Aug
(12) |
Sep
(8) |
Oct
(4) |
Nov
(31) |
Dec
(54) |
2016 |
Jan
(77) |
Feb
(2) |
Mar
(31) |
Apr
(29) |
May
(34) |
Jun
(10) |
Jul
(7) |
Aug
(27) |
Sep
(12) |
Oct
(9) |
Nov
(10) |
Dec
(33) |
2017 |
Jan
(36) |
Feb
(12) |
Mar
(17) |
Apr
(4) |
May
(9) |
Jun
(22) |
Jul
(7) |
Aug
(11) |
Sep
(16) |
Oct
(8) |
Nov
(4) |
Dec
(18) |
2018 |
Jan
(21) |
Feb
|
Mar
(15) |
Apr
(7) |
May
(15) |
Jun
(16) |
Jul
(10) |
Aug
(4) |
Sep
(14) |
Oct
(7) |
Nov
(5) |
Dec
(6) |
2019 |
Jan
|
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
(4) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
(3) |
2020 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
(13) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(4) |
2022 |
Jan
(1) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
|
Dec
(11) |
2023 |
Jan
(7) |
Feb
|
Mar
(3) |
Apr
|
May
(9) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2024 |
Jan
(4) |
Feb
(35) |
Mar
|
Apr
(5) |
May
|
Jun
(4) |
Jul
|
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
(10) |
2025 |
Jan
(21) |
Feb
(2) |
Mar
|
Apr
|
May
(3) |
Jun
(43) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Hiroshi S. <nul...@cl...> - 2025-07-11 01:17:45
|
Hiroshi SHIBATA 2025-07-11 10:17:29 +0900 (Fri, 11 Jul 2025) Revision: 464cb7de2de0de9b99c5c2588233993a0fad0451 https://github.com/tdiary/tdiary-core/commit/464cb7de2de0de9b99c5c2588233993a0fad0451 Message: Merge pull request #1246 from tdiary/update-heroku-depend Update heroku dependency |
From: Hiroshi S. <nul...@cl...> - 2025-07-11 01:14:21
|
Hiroshi SHIBATA 2025-07-11 10:03:57 +0900 (Fri, 11 Jul 2025) Revision: 3aaa900e82eddcff8740e713cba7bf5e34c58873 https://github.com/tdiary/tdiary-core/commit/3aaa900e82eddcff8740e713cba7bf5e34c58873 Message: Added update task for heroku Modified files: lib/tdiary/tasks/heroku.rake Modified: lib/tdiary/tasks/heroku.rake (+9 -0) =================================================================== --- lib/tdiary/tasks/heroku.rake 2025-07-09 23:13:57 +0900 (d3b8a8c0) +++ lib/tdiary/tasks/heroku.rake 2025-07-11 10:03:57 +0900 (cb72710b) @@ -22,6 +22,15 @@ namespace :heroku do raise NotImplementedError end + task :update_gemfile do + FileUtils.cp 'misc/paas/heroku/Gemfile.local', 'Gemfile.local' + FileUtils.cp 'misc/paas/heroku/Gemfile.lock', 'Gemfile.lock' + sh "bundle update" + FileUtils.cp 'Gemfile.local', 'misc/paas/heroku/Gemfile.local' + FileUtils.cp 'Gemfile.lock', 'misc/paas/heroku/Gemfile.lock' + sh "git checkout Gemfile.lock" + end + task :clean do sh "git checkout master" sh "git branch -D deploy" |
From: Hiroshi S. <nul...@cl...> - 2025-07-11 01:14:21
|
Hiroshi SHIBATA 2025-07-11 10:04:52 +0900 (Fri, 11 Jul 2025) Revision: 7f08460ab10134cc9693906d886a1846dfec4d28 https://github.com/tdiary/tdiary-core/commit/7f08460ab10134cc9693906d886a1846dfec4d28 Message: Bump up Ruby 3.4.4 Modified files: misc/paas/heroku/Gemfile.local Modified: misc/paas/heroku/Gemfile.local (+1 -1) =================================================================== --- misc/paas/heroku/Gemfile.local 2025-07-11 10:03:57 +0900 (60eb2b4c) +++ misc/paas/heroku/Gemfile.local 2025-07-11 10:04:52 +0900 (1a52d787) @@ -1,4 +1,4 @@ -ruby '~> 3.2.2' +ruby '~> 3.4.4' gem 'puma', require: false gem 'tdiary-io-mongodb', git: 'https://github.com/tdiary/tdiary-io-mongodb.git' gem 'tdiary-contrib', git: 'https://github.com/tdiary/tdiary-contrib.git' |
From: Hiroshi S. <nul...@cl...> - 2025-07-11 01:14:19
|
Hiroshi SHIBATA 2025-07-11 10:13:35 +0900 (Fri, 11 Jul 2025) Revision: 8969a6674a45d0b043190c359133dc4fb1468d1f https://github.com/tdiary/tdiary-core/commit/8969a6674a45d0b043190c359133dc4fb1468d1f Message: Update bundles, ruby and bundler Modified files: misc/paas/heroku/Gemfile.lock Modified: misc/paas/heroku/Gemfile.lock (+97 -103) =================================================================== --- misc/paas/heroku/Gemfile.lock 2025-07-11 10:04:52 +0900 (88543d05) +++ misc/paas/heroku/Gemfile.lock 2025-07-11 10:13:35 +0900 (1f1357bf) @@ -1,8 +1,8 @@ GIT remote: https://github.com/tdiary/tdiary-contrib.git - revision: cd990a0f4d8ede7d38a5146e56c5edf1d5fd74ad + revision: 00a556a4a2e2bc9a56fd95862ab17694f38f476a specs: - tdiary-contrib (5.2.4) + tdiary-contrib (5.4.0) coderay holiday_japan pushbullet_ruby @@ -21,18 +21,18 @@ GIT GEM remote: https://rubygems.org/ specs: - activemodel (7.0.8.1) - activesupport (= 7.0.8.1) - activesupport (7.0.8.1) + activemodel (7.0.8.7) + activesupport (= 7.0.8.7) + activesupport (7.0.8.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) - base64 (0.2.0) - bigdecimal (3.1.6) - bson (4.15.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + base64 (0.3.0) + bigdecimal (3.2.2) + bson (5.1.1) capybara (3.40.0) addressable matrix @@ -42,88 +42,85 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) + childprocess (5.1.0) + logger (~> 1.5) coderay (1.1.3) - commonmarker (1.0.4-arm64-darwin) - commonmarker (1.0.4-x86_64-linux) - concurrent-ruby (1.2.3) - connection_pool (2.4.1) - coveralls (0.8.23) - json (>= 1.8, < 3) - simplecov (~> 0.16.1) - term-ansicolor (~> 1.3) - thor (>= 0.19.4, < 2.0) - tins (~> 1.6) + commonmarker (2.3.1-arm64-darwin) + commonmarker (2.3.1-x86_64-linux) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) dalli (3.2.8) - date (3.3.4) - diff-lcs (1.5.1) - docile (1.4.0) + date (3.4.1) + diff-lcs (1.6.2) + docile (1.4.1) emot (0.0.4) thor faraday (0.17.6) multipart-post (>= 1.2, < 3) - fastimage (2.3.0) + fastimage (2.4.0) hashie (5.0.0) hikidoc (0.1.0) holiday_japan (1.4.4) - i18n (1.14.1) + i18n (1.14.7) concurrent-ruby (~> 1.0) idn-ruby (0.1.5) - jasmine (2.99.0) - jasmine-core (>= 2.99.0, < 3.0.0) - phantomjs - rack (>= 1.2.1) - rake - jasmine-core (2.99.2) - json (2.7.1) - jwt (2.8.0) + jwt (3.1.2) base64 - launchy (2.5.2) + launchy (3.1.1) addressable (~> 2.8) + childprocess (~> 5.0) + logger (~> 1.6) + logger (1.7.0) mail (2.8.1) mini_mime (>= 0.1.1) net-imap net-pop net-smtp - matrix (0.4.2) + matrix (0.4.3) memcachier (0.0.2) - mime-types (3.5.2) - mime-types-data (~> 3.2015) - mime-types-data (3.2024.0206) + mime-types (3.7.0) + logger + mime-types-data (~> 3.2025, >= 3.2025.0507) + mime-types-data (3.2025.0708) mini_mime (1.1.5) - minitest (5.22.2) - mongo (2.19.3) - bson (>= 4.14.1, < 5.0.0) + minitest (5.25.5) + mongo (2.21.1) + base64 + bson (>= 4.14.1, < 6.0.0) mongoid (7.5.4) activemodel (>= 5.1, < 7.1, != 7.0.0) mongo (>= 2.10.5, < 3.0.0) ruby2_keywords (~> 0.0.5) - multi_xml (0.6.0) - multipart-post (2.4.0) - net-imap (0.4.10) + multi_xml (0.7.2) + bigdecimal (~> 3.1) + multipart-post (2.4.1) + net-imap (0.5.9) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.4.0.1) + net-smtp (0.5.1) net-protocol - nio4r (2.7.0) - nokogiri (1.16.2-arm64-darwin) + nio4r (2.7.4) + nkf (0.2.0) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.2-x86_64-linux) + nokogiri (1.18.8-x86_64-linux-gnu) racc (~> 1.4) - oauth2 (2.0.9) - faraday (>= 0.17.3, < 3.0) - jwt (>= 1.0, < 3.0) + oauth2 (2.0.12) + faraday (>= 0.17.3, < 4.0) + jwt (>= 1.0, < 4.0) + logger (~> 1.2) multi_xml (~> 0.5) rack (>= 1.2, < 4) - snaky_hash (~> 2.0) - version_gem (~> 1.1) + snaky_hash (~> 2.0, >= 2.0.3) + version_gem (>= 1.1.8, < 3) octokit (4.22.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) - omniauth (2.1.2) + omniauth (2.1.3) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection @@ -133,77 +130,79 @@ GEM omniauth-oauth2 (1.8.0) oauth2 (>= 1.4, < 3) omniauth (~> 2.0) - phantomjs (2.1.1.0) pit (0.0.7) - power_assert (2.0.3) - public_suffix (5.0.4) - puma (6.4.2) + power_assert (2.0.5) + public_suffix (6.0.2) + puma (6.6.0) nio4r (~> 2.0) pushbullet_ruby (1.1.4) faraday (>= 0.13.0, < 1.0) mime-types - racc (1.7.3) - rack (3.0.9.1) - rack-protection (4.0.0) + racc (1.8.1) + rack (3.1.16) + rack-protection (4.1.1) base64 (>= 0.1.0) + logger (>= 1.6.0) rack (>= 3.0.0, < 4) - rack-session (2.0.0) + rack-session (2.1.1) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) racksh (1.0.1) rack (>= 1.0) rack-test (>= 0.5) - rackup (2.1.0) + rackup (2.2.1) rack (>= 3) - webrick (~> 1.8) - rake (13.1.0) + rake (13.3.0) rdtool (0.6.38) - redcarpet (3.6.0) - regexp_parser (2.9.0) - rexml (3.2.6) - rspec (3.13.0) + redcarpet (3.6.1) + regexp_parser (2.10.0) + rexml (3.4.1) + rspec (3.13.1) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.0) + rspec-core (3.13.5) rspec-support (~> 3.13.0) - rspec-expectations (3.13.0) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.0) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.1) + rspec-support (3.13.4) ruby2_keywords (0.0.5) - rubyzip (2.3.2) + rubyzip (2.4.1) sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) - selenium-webdriver (4.18.1) + selenium-webdriver (4.34.0) base64 (~> 0.2) + logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sequel (5.77.0) + sequel (5.94.0) bigdecimal - simplecov (0.16.1) + simplecov (0.22.0) docile (~> 1.1) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.2) - snaky_hash (2.0.1) - hashie - version_gem (~> 1.1, >= 1.1.1) - sqlite3 (1.7.2-arm64-darwin) - sqlite3 (1.7.2-x86_64-linux) - sync (0.5.0) - tdiary (5.2.4) - bundler (>= 1.3, < 3.0) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + snaky_hash (2.0.3) + hashie (>= 0.1.0, < 6) + version_gem (>= 1.1.8, < 3) + sqlite3 (2.7.2-arm64-darwin) + sqlite3 (2.7.2-x86_64-linux-gnu) + tdiary (5.4.0) + bundler (>= 2.6, < 3.0) emot fastimage hikidoc mail + nkf rack rake rexml @@ -215,14 +214,10 @@ GEM twitter-text (>= 2.0) tdiary-style-rd (0.0.3) rdtool - term-ansicolor (1.7.1) - tins (~> 1.0) - test-unit (3.6.2) + test-unit (3.7.0) power_assert - thor (1.3.1) - timeout (0.4.1) - tins (1.32.1) - sync + thor (1.3.2) + timeout (0.4.3) twitter-text (3.1.0) idn-ruby unf (~> 0.1.0) @@ -231,27 +226,26 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.9.1) - version_gem (1.1.3) - webrick (1.8.1) - websocket (1.2.10) + version_gem (1.1.8) + webrick (1.9.1) + websocket (1.2.11) xpath (3.2.0) nokogiri (~> 1.8) PLATFORMS arm64-darwin-22 arm64-darwin-23 + arm64-darwin-25 x86_64-linux DEPENDENCIES capybara connection_pool - coveralls (~> 0.8) dalli date (>= 3.1.1) emot fastimage hikidoc - jasmine (< 3) launchy mail memcachier @@ -281,7 +275,7 @@ DEPENDENCIES webrick RUBY VERSION - ruby 3.2.2p53 + ruby 3.4.4p34 BUNDLED WITH - 2.4.13 + 2.6.9 |
From: Hiroshi S. <nul...@cl...> - 2025-06-13 08:39:36
|
Hiroshi SHIBATA 2025-06-13 17:39:10 +0900 (Fri, 13 Jun 2025) Revision: d09240c1b10eed74d39924dfedf8f92941dd84f1 https://github.com/tdiary/tdiary-core/commit/d09240c1b10eed74d39924dfedf8f92941dd84f1 Message: Ignored beta version Modified files: lib/tdiary/tasks/release.rake Modified: lib/tdiary/tasks/release.rake (+1 -1) =================================================================== --- lib/tdiary/tasks/release.rake 2025-06-13 17:15:03 +0900 (f95fac9b) +++ lib/tdiary/tasks/release.rake 2025-06-13 17:39:10 +0900 (18d36c60) @@ -4,7 +4,7 @@ begin require 'octokit' - STABLE = `git tag | sort -r -V | head -1`.chomp + STABLE = `git tag | grep -v beta | sort -r -V | head -1`.chomp REPOS = %w(tdiary-core tdiary-theme tdiary-blogkit tdiary-contrib) DEST_DIR = "/var/www/tdiary.org/htdocs/download" |
From: Hiroshi S. <nul...@cl...> - 2025-06-13 08:33:44
|
Hiroshi SHIBATA 2025-06-13 17:14:22 +0900 (Fri, 13 Jun 2025) Revision: 18bdbda5bfab386ab1d09d0218d1f568605e4df3 https://github.com/tdiary/tdiary-blogkit/commit/18bdbda5bfab386ab1d09d0218d1f568605e4df3 Message: Bump up 5.4.0 Modified files: ChangeLog lib/tdiary/blogkit/version.rb Modified: ChangeLog (+3 -0) =================================================================== --- ChangeLog 2024-02-29 14:55:53 +0900 (e7db532) +++ ChangeLog 2025-06-13 17:14:22 +0900 (bdffef4) @@ -1,3 +1,6 @@ +2025-06-13 Hiroshi SHIBATA <hs...@ru...> + * release 5.4.0 + 2024-02-29 Hiroshi SHIBATA <hs...@ru...> * release 5.3.0 Modified: lib/tdiary/blogkit/version.rb (+1 -1) =================================================================== --- lib/tdiary/blogkit/version.rb 2024-02-29 14:55:53 +0900 (3bc4300) +++ lib/tdiary/blogkit/version.rb 2025-06-13 17:14:22 +0900 (01f796f) @@ -1,5 +1,5 @@ module TDiary class Blogkit - VERSION = "5.3.0" + VERSION = "5.4.0" end end |
From: Hiroshi S. <nul...@cl...> - 2025-06-13 08:33:37
|
Hiroshi SHIBATA 2025-06-13 17:15:03 +0900 (Fri, 13 Jun 2025) Revision: 228b848bbc6ac80f1dd3a5548ea14f6a09ff6db1 https://github.com/tdiary/tdiary-core/commit/228b848bbc6ac80f1dd3a5548ea14f6a09ff6db1 Message: Bump up 5.4.0 Modified files: ChangeLog lib/tdiary/version.rb Modified: ChangeLog (+6 -0) =================================================================== --- ChangeLog 2025-06-13 16:56:31 +0900 (8301c671) +++ ChangeLog 2025-06-13 17:15:03 +0900 (131d6737) @@ -1,3 +1,9 @@ +2025-06-13 Hiroshi SHIBATA <hs...@ru...> + * support Ruby 3.4. + * drop to support Ruby 3.0. + * support Rack 3.1 + * release 5.4.0 + 2024-02-29 Hiroshi SHIBATA <hs...@ru...> * support Ruby 3.2 and 3.3. * drop to support Ruby 2.7. Modified: lib/tdiary/version.rb (+1 -1) =================================================================== --- lib/tdiary/version.rb 2025-06-13 16:56:31 +0900 (f432fcc5) +++ lib/tdiary/version.rb 2025-06-13 17:15:03 +0900 (4e5c9e34) @@ -1,3 +1,3 @@ module TDiary - VERSION = '5.4.0.beta3' + VERSION = "5.4.0" end |
From: Hiroshi S. <nul...@cl...> - 2025-06-13 07:56:52
|
Hiroshi SHIBATA 2025-06-13 16:56:31 +0900 (Fri, 13 Jun 2025) Revision: 36ee2a0e441f842d21745c80b5dfd21b37d4b0ae https://github.com/tdiary/tdiary-core/commit/36ee2a0e441f842d21745c80b5dfd21b37d4b0ae Message: Merge pull request #1237 from tdiary/normilized-ruby-versions Update supported versions |
From: Hiroshi S. <nul...@cl...> - 2025-06-13 06:50:19
|
Hiroshi SHIBATA 2025-06-13 15:49:53 +0900 (Fri, 13 Jun 2025) Revision: 732fc547b6a57e24a78e363cb3c08a4efe29708f https://github.com/tdiary/tdiary-core/commit/732fc547b6a57e24a78e363cb3c08a4efe29708f Message: Update supported versions Modified files: lib/tdiary/tasks/release.rake tdiary.gemspec Modified: lib/tdiary/tasks/release.rake (+1 -1) =================================================================== --- lib/tdiary/tasks/release.rake 2025-06-11 19:16:57 +0900 (30658be7) +++ lib/tdiary/tasks/release.rake 2025-06-13 15:49:53 +0900 (f95fac9b) @@ -50,7 +50,7 @@ begin end Dir.chdir '.bundle/ruby' do - versions = %w(3.0.0 3.1.0 3.2.0 3.3.0) + versions = %w(3.1.0 3.2.0 3.3.0 3.4.0) current = `ls`.chomp versions.each {|version| FileUtils.cp_r current, version unless current == version Modified: tdiary.gemspec (+2 -2) =================================================================== --- tdiary.gemspec 2025-06-11 19:16:57 +0900 (c5d4f707) +++ tdiary.gemspec 2025-06-13 15:49:53 +0900 (ceaeffff) @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.required_ruby_version = '>= 2.6' + spec.required_ruby_version = '>= 3.1' spec.add_dependency 'emot' spec.add_dependency 'fastimage' @@ -45,5 +45,5 @@ Gem::Specification.new do |spec| spec.add_dependency 'thor' spec.add_dependency 'rexml' spec.add_dependency 'webrick' - spec.add_dependency "bundler", ">= 1.3", "< 3.0" + spec.add_dependency "bundler", ">= 2.6", "< 3.0" end |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 10:17:26
|
Hiroshi SHIBATA 2025-06-11 19:16:25 +0900 (Wed, 11 Jun 2025) Revision: 1614787d43a6798ee66c506a04ec7023a7bd9b2a https://github.com/tdiary/tdiary-core/commit/1614787d43a6798ee66c506a04ec7023a7bd9b2a Message: 2nd try for prerelease tag Modified files: .github/workflows/build-image.yml Modified: .github/workflows/build-image.yml (+3 -2) =================================================================== --- .github/workflows/build-image.yml 2025-06-11 18:59:35 +0900 (f5157f0e) +++ .github/workflows/build-image.yml 2025-06-11 19:16:25 +0900 (674b8b5e) @@ -54,9 +54,10 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | type=ref,event=branch + type=ref,event=tag type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}},enable=${{ !contains(github.ref, 'beta') && !contains(github.ref, 'rc') }} - type=semver,pattern={{major}},enable=${{ !contains(github.ref, 'beta') && !contains(github.ref, 'rc') }} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} type=raw,value=latest,enable={{is_default_branch}} flavor: | latest=false |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 10:17:24
|
Hiroshi SHIBATA 2025-06-11 19:16:57 +0900 (Wed, 11 Jun 2025) Revision: 9ebf572e4f49cf0037ce3011d8c2e2ce23f033b3 https://github.com/tdiary/tdiary-core/commit/9ebf572e4f49cf0037ce3011d8c2e2ce23f033b3 Message: Bump up 5.4.0.beta3 Modified files: lib/tdiary/version.rb Modified: lib/tdiary/version.rb (+1 -1) =================================================================== --- lib/tdiary/version.rb 2025-06-11 19:16:25 +0900 (6c28c815) +++ lib/tdiary/version.rb 2025-06-11 19:16:57 +0900 (f432fcc5) @@ -1,3 +1,3 @@ module TDiary - VERSION = '5.4.0.beta2' + VERSION = '5.4.0.beta3' end |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:59:57
|
Hiroshi SHIBATA 2025-06-11 18:59:35 +0900 (Wed, 11 Jun 2025) Revision: 8eb4c0433e85650b59ad51c75d9cd042f73e93d8 https://github.com/tdiary/tdiary-core/commit/8eb4c0433e85650b59ad51c75d9cd042f73e93d8 Message: Bump up 5.4.0.beta2 Modified files: lib/tdiary/version.rb Modified: lib/tdiary/version.rb (+1 -1) =================================================================== --- lib/tdiary/version.rb 2025-06-11 18:59:08 +0900 (fed31bee) +++ lib/tdiary/version.rb 2025-06-11 18:59:35 +0900 (6c28c815) @@ -1,3 +1,3 @@ module TDiary - VERSION = '5.4.0.beta1' + VERSION = '5.4.0.beta2' end |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:59:56
|
Hiroshi SHIBATA 2025-06-11 18:59:08 +0900 (Wed, 11 Jun 2025) Revision: 7b78221a7fe10dc6f64addb8ca80ee409e437e1f https://github.com/tdiary/tdiary-core/commit/7b78221a7fe10dc6f64addb8ca80ee409e437e1f Message: Enabled image tag with beta and rc strings Modified files: .github/workflows/build-image.yml Modified: .github/workflows/build-image.yml (+14 -2) =================================================================== --- .github/workflows/build-image.yml 2025-06-11 18:49:54 +0900 (c38a131c) +++ .github/workflows/build-image.yml 2025-06-11 18:59:08 +0900 (f5157f0e) @@ -55,8 +55,8 @@ jobs: tags: | type=ref,event=branch type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{major}} + type=semver,pattern={{major}}.{{minor}},enable=${{ !contains(github.ref, 'beta') && !contains(github.ref, 'rc') }} + type=semver,pattern={{major}},enable=${{ !contains(github.ref, 'beta') && !contains(github.ref, 'rc') }} type=raw,value=latest,enable={{is_default_branch}} flavor: | latest=false @@ -104,12 +104,24 @@ jobs: run: | # Extract metadata from build job METADATA='${{ needs.build.outputs.metadata }}' + echo "Metadata: $METADATA" + TAGS=$(echo "$METADATA" | jq -r '.tags[]') + echo "Generated tags:" + echo "$TAGS" + + if [ -z "$TAGS" ]; then + echo "No tags generated, exiting" + exit 1 + fi # Get digests from build outputs AMD64_DIGEST="${{ needs.build.outputs.image-digest-amd64 }}" ARM64_DIGEST="${{ needs.build.outputs.image-digest-arm64 }}" + echo "AMD64 Digest: $AMD64_DIGEST" + echo "ARM64 Digest: $ARM64_DIGEST" + # Create and push manifest for each tag for tag in $TAGS; do echo "Creating manifest for $tag" |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:50:20
|
Hiroshi SHIBATA 2025-06-11 18:49:54 +0900 (Wed, 11 Jun 2025) Revision: 4a182149eca84f290b20eb5e976051436792223e https://github.com/tdiary/tdiary-core/commit/4a182149eca84f290b20eb5e976051436792223e Message: Bump up 5.4.0.beta1 Modified files: lib/tdiary/version.rb Modified: lib/tdiary/version.rb (+1 -1) =================================================================== --- lib/tdiary/version.rb 2025-06-11 18:32:12 +0900 (8467a652) +++ lib/tdiary/version.rb 2025-06-11 18:49:54 +0900 (fed31bee) @@ -1,3 +1,3 @@ module TDiary - VERSION = '5.3.0' + VERSION = '5.4.0.beta1' end |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:32:35
|
Hiroshi SHIBATA 2025-06-11 18:32:12 +0900 (Wed, 11 Jun 2025) Revision: b24b1d1b034e6f458029fa5c58b329adf0c6c098 https://github.com/tdiary/tdiary-core/commit/b24b1d1b034e6f458029fa5c58b329adf0c6c098 Message: Fixed wrong runner name for arm Modified files: .github/workflows/build-image.yml Modified: .github/workflows/build-image.yml (+1 -1) =================================================================== --- .github/workflows/build-image.yml 2025-06-11 18:21:11 +0900 (fc8511bd) +++ .github/workflows/build-image.yml 2025-06-11 18:32:12 +0900 (c38a131c) @@ -18,7 +18,7 @@ jobs: - runner: ubuntu-latest platform: linux/amd64 arch: amd64 - - runner: ubuntu-24.04-arm64 + - runner: ubuntu-24.04-arm platform: linux/arm64 arch: arm64 runs-on: ${{ matrix.runner }} |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:21:35
|
Hiroshi SHIBATA 2025-06-11 18:21:11 +0900 (Wed, 11 Jun 2025) Revision: cc050bf9e20acddfe99e9cfdcf66c5ea9bdf1209 https://github.com/tdiary/tdiary-core/commit/cc050bf9e20acddfe99e9cfdcf66c5ea9bdf1209 Message: Removed needless configuration Modified files: .github/workflows/build-image.yml Modified: .github/workflows/build-image.yml (+0 -4) =================================================================== --- .github/workflows/build-image.yml 2025-06-11 18:17:47 +0900 (13de185c) +++ .github/workflows/build-image.yml 2025-06-11 18:21:11 +0900 (fc8511bd) @@ -69,8 +69,6 @@ jobs: context: . file: ./Dockerfile push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} platforms: ${{ matrix.platform }} provenance: false outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true @@ -83,8 +81,6 @@ jobs: context: . file: ./Dockerfile push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} platforms: ${{ matrix.platform }} provenance: false outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:18:05
|
Hiroshi SHIBATA 2025-06-11 18:17:47 +0900 (Wed, 11 Jun 2025) Revision: 4ebcbf9f8c4d05d794ba04d1cb55a76f2480da4f https://github.com/tdiary/tdiary-core/commit/4ebcbf9f8c4d05d794ba04d1cb55a76f2480da4f Message: Fixed issue for master branch push Modified files: .github/workflows/build-image.yml Modified: .github/workflows/build-image.yml (+3 -2) =================================================================== --- .github/workflows/build-image.yml 2025-06-11 18:10:36 +0900 (82e61270) +++ .github/workflows/build-image.yml 2025-06-11 18:17:47 +0900 (13de185c) @@ -2,6 +2,7 @@ name: Build Docker Image on: push: + branches: [ 'master' ] tags: [ 'v*' ] workflow_dispatch: @@ -72,7 +73,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} platforms: ${{ matrix.platform }} provenance: false - outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true + outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true - name: Build and push Docker image (ARM64) id: build-arm64 @@ -86,7 +87,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} platforms: ${{ matrix.platform }} provenance: false - outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true + outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true merge: runs-on: ubuntu-latest |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:11:11
|
Hiroshi SHIBATA 2025-06-11 18:10:36 +0900 (Wed, 11 Jun 2025) Revision: fc1d13298dcef31b7a629824d1853b76683c2ef3 https://github.com/tdiary/tdiary-core/commit/fc1d13298dcef31b7a629824d1853b76683c2ef3 Message: Added buildx-action for push-by-digest Modified files: .github/workflows/build-image.yml Modified: .github/workflows/build-image.yml (+5 -0) =================================================================== --- .github/workflows/build-image.yml 2025-06-11 18:08:09 +0900 (f16f5b67) +++ .github/workflows/build-image.yml 2025-06-11 18:10:36 +0900 (82e61270) @@ -34,6 +34,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + driver: docker-container + - name: Log in to Docker Hub uses: docker/login-action@v3 with: |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:08:25
|
Hiroshi SHIBATA 2025-06-11 18:08:09 +0900 (Wed, 11 Jun 2025) Revision: e0adf8d951e295d1eae9eca6cb110017e536f81e https://github.com/tdiary/tdiary-core/commit/e0adf8d951e295d1eae9eca6cb110017e536f81e Message: Merge pull request #1236 from tdiary/docker-build Added docker build action |
From: Hiroshi S. <nul...@cl...> - 2025-06-11 09:05:27
|
Hiroshi SHIBATA 2025-06-11 18:05:03 +0900 (Wed, 11 Jun 2025) Revision: 2daf331d82c042012d17a0438ad5d453e57d1547 https://github.com/tdiary/tdiary-core/commit/2daf331d82c042012d17a0438ad5d453e57d1547 Message: Added docker build action Added files: .github/workflows/build-image.yml Added: .github/workflows/build-image.yml (+144 -0) 100644 =================================================================== --- /dev/null +++ .github/workflows/build-image.yml 2025-06-11 18:05:03 +0900 (f16f5b67) @@ -0,0 +1,144 @@ +name: Build Docker Image + +on: + push: + tags: [ 'v*' ] + workflow_dispatch: + +env: + REGISTRY: docker.io + IMAGE_NAME: tdiary/tdiary + +jobs: + build: + strategy: + matrix: + include: + - runner: ubuntu-latest + platform: linux/amd64 + arch: amd64 + - runner: ubuntu-24.04-arm64 + platform: linux/arm64 + arch: arm64 + runs-on: ${{ matrix.runner }} + permissions: + contents: read + packages: write + + outputs: + image-digest-amd64: ${{ steps.build-amd64.outputs.digest }} + image-digest-arm64: ${{ steps.build-arm64.outputs.digest }} + metadata: ${{ steps.meta.outputs.json }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=raw,value=latest,enable={{is_default_branch}} + flavor: | + latest=false + + - name: Build and push Docker image (AMD64) + id: build-amd64 + if: matrix.arch == 'amd64' + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + platforms: ${{ matrix.platform }} + provenance: false + outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true + + - name: Build and push Docker image (ARM64) + id: build-arm64 + if: matrix.arch == 'arm64' + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + platforms: ${{ matrix.platform }} + provenance: false + outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true + + merge: + runs-on: ubuntu-latest + needs: build + permissions: + contents: read + packages: write + + steps: + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Create and push manifest + run: | + # Extract metadata from build job + METADATA='${{ needs.build.outputs.metadata }}' + TAGS=$(echo "$METADATA" | jq -r '.tags[]') + + # Get digests from build outputs + AMD64_DIGEST="${{ needs.build.outputs.image-digest-amd64 }}" + ARM64_DIGEST="${{ needs.build.outputs.image-digest-arm64 }}" + + # Create and push manifest for each tag + for tag in $TAGS; do + echo "Creating manifest for $tag" + docker manifest create $tag \ + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@$AMD64_DIGEST \ + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@$ARM64_DIGEST + + docker manifest annotate $tag \ + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@$AMD64_DIGEST \ + --os linux --arch amd64 + + docker manifest annotate $tag \ + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@$ARM64_DIGEST \ + --os linux --arch arm64 + + docker manifest push $tag + done + + - name: Test Docker image + run: | + # Extract metadata from build job + METADATA='${{ needs.build.outputs.metadata }}' + TAGS=$(echo "$METADATA" | jq -r '.tags[]') + + echo "Created tags:" + for tag in $TAGS; do + echo " - $tag" + if docker manifest inspect $tag >/dev/null 2>&1; then + echo " ✓ Multi-arch manifest verified" + docker manifest inspect $tag | jq -r '.manifests[].platform | "\(.architecture)/\(.os)"' | sed 's/^/ /' + else + echo " ✗ Manifest verification failed" + fi + done |
From: Hiroshi S. <nul...@cl...> - 2025-06-09 09:21:43
|
Hiroshi SHIBATA 2025-06-09 18:21:17 +0900 (Mon, 09 Jun 2025) Revision: 2a01485c6385e970cede19c0137a337e2ae70ceb https://github.com/tdiary/tdiary-core/commit/2a01485c6385e970cede19c0137a337e2ae70ceb Message: Merge pull request #1234 from tdiary/replace-jasmine-npm Replace jasmine gem to npm version |
From: Hiroshi S. <nul...@cl...> - 2025-06-09 09:03:16
|
Hiroshi SHIBATA 2025-06-09 15:53:51 +0900 (Mon, 09 Jun 2025) Revision: fad9bae63b915c91d385cb58a0be03b700fbe316 https://github.com/tdiary/tdiary-core/commit/fad9bae63b915c91d385cb58a0be03b700fbe316 Message: Replaced npm version of jasmine from jasmine gem Added files: package-lock.json spec/javascripts/helpers/setup.js spec/support/jasmine.json spec/support/jasmine.mjs Removed files: spec/javascripts/support/jasmine.yml Modified files: Gemfile lib/tdiary/tasks/jasmine.rake package.json Modified: Gemfile (+0 -1) =================================================================== --- Gemfile 2025-06-06 17:13:13 +0900 (bf96ff9e) +++ Gemfile 2025-06-09 15:53:51 +0900 (af43f568) @@ -25,7 +25,6 @@ group :development do gem 'launchy' gem 'sequel' gem 'sqlite3' - gem 'jasmine', '< 3' gem 'simplecov', require: false gem "rexml" gem "webrick" Modified: lib/tdiary/tasks/jasmine.rake (+7 -3) =================================================================== --- lib/tdiary/tasks/jasmine.rake 2025-06-06 17:13:13 +0900 (89785579) +++ lib/tdiary/tasks/jasmine.rake 2025-06-09 15:53:51 +0900 (4277817c) @@ -1,10 +1,14 @@ begin require_relative "../../rack/server" - require 'jasmine' - load 'jasmine/tasks/jasmine.rake' + + desc "Run JavaScript tests with Jasmine" + task :jasmine do + puts "Running JavaScript tests with npm jasmine..." + system("npm test") || abort("JavaScript tests failed") + end rescue LoadError task :jasmine do - abort "Jasmine is not available. In order to run jasmine, you must: (sudo) gem install jasmine" + abort "Node.js and npm are required to run JavaScript tests. Please install Node.js and run 'npm install'" end end Added: package-lock.json (+1390 -0) 100644 =================================================================== --- /dev/null +++ package-lock.json 2025-06-09 15:53:51 +0900 (284a09d6) @@ -0,0 +1,1390 @@ +{ + "name": "tdiary-core", + "version": "5.0.13", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tdiary-core", + "version": "5.0.13", + "license": "GPL", + "devDependencies": { + "jasmine": "^5.1.0", + "jasmine-jquery": "~2.1.1", + "jquery": "~3.5.0", + "jsdom": "^24.0.0" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", + "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", + "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.0.2", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssstyle": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.4.0.tgz", + "integrity": "sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cssstyle/node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "dev": true, + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", + "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.8.0.tgz", + "integrity": "sha512-1V6HGa0+TMoMY20+/vp++RqLlL1noupV8awzV6CiPuICC0g7iKZ9z87zV2KyelRyoig0G1lHn7ueElXVMGVagg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.2.2", + "jasmine-core": "~5.8.0" + }, + "bin": { + "jasmine": "bin/jasmine.js" + } + }, + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jasmine-jquery": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/jasmine-jquery/-/jasmine-jquery-2.1.1.tgz", + "integrity": "sha512-13d18zXTGeiNAjd4sAhoUGQbCEXTMbUyjrnQ9JFQM/atyyFubHejL5RCE5iyW7jOh1cwjoqVefAAsSA4SFtooQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jquery": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdom": { + "version": "24.1.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.3.tgz", + "integrity": "sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.4", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nwsapi": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", + "dev": true, + "license": "MIT" + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + } + } +} Modified: package.json (+6 -3) =================================================================== --- package.json 2025-06-06 17:13:13 +0900 (8e7708cc) +++ package.json 2025-06-09 15:53:51 +0900 (4ead90fa) @@ -8,7 +8,8 @@ "test": "test" }, "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "npm run test:js", + "test:js": "jasmine" }, "repository": { "type": "git", @@ -22,6 +23,8 @@ "homepage": "https://github.com/tdiary/tdiary-core", "devDependencies": { "jquery": "~3.5.0", - "jasmine-jquery": "~2.1.1" - } + "jasmine-jquery": "~2.1.1", + "jasmine": "^5.1.0", + "jsdom": "^24.0.0" + } } Added: spec/javascripts/helpers/setup.js (+75 -0) 100644 =================================================================== --- /dev/null +++ spec/javascripts/helpers/setup.js 2025-06-09 15:53:51 +0900 (821d5b89) @@ -0,0 +1,75 @@ +// Setup for Jasmine tests with JSDOM +const jsdom = require('jsdom'); +const { JSDOM } = jsdom; +const fs = require('fs'); +const path = require('path'); + +// Create DOM environment +const dom = new JSDOM(` +<!DOCTYPE html> +<html> +<head><title>Test</title></head> +<body></body> +</html> +`, { + url: 'http://localhost', + pretendToBeVisual: true, + resources: 'usable' +}); + +// Set up global objects +global.window = dom.window; +global.document = dom.window.document; +global.navigator = dom.window.navigator; + +// Load jQuery +const jqueryPath = path.join(__dirname, '../../../node_modules/jquery/dist/jquery.js'); +const jquerySource = fs.readFileSync(jqueryPath, 'utf8'); +dom.window.eval(jquerySource); +global.$ = dom.window.$; +global.jQuery = dom.window.jQuery; + +// Load jasmine-jquery +const jasmineJqueryPath = path.join(__dirname, '../../../node_modules/jasmine-jquery/lib/jasmine-jquery.js'); +const jasmineJquerySource = fs.readFileSync(jasmineJqueryPath, 'utf8'); +dom.window.eval(jasmineJquerySource); + +// Set up loadFixtures function +global.loadFixtures = function(...fixtures) { + fixtures.forEach(fixture => { + const fixturePath = path.join(__dirname, '../fixtures', fixture); + if (fs.existsSync(fixturePath)) { + const content = fs.readFileSync(fixturePath, 'utf8'); + global.document.body.innerHTML = content; + } + }); +}; + +// Initialize $tDiary object +global.$tDiary = { + style: 'default', + plugin: {} +}; + +// Load source JavaScript files +const jsSourcePath = path.join(__dirname, '../../../js/00default.js'); +if (fs.existsSync(jsSourcePath)) { + const sourceCode = fs.readFileSync(jsSourcePath, 'utf8'); + + // Execute in window context with $ as global variable + dom.window.$ = global.$; + dom.window.jQuery = global.jQuery; + + try { + dom.window.eval(sourceCode); + } catch (e) { + console.warn('Warning: Could not evaluate source file:', e.message); + } + + // Copy globals from window to global scope + if (dom.window.$tDiary) { + global.$tDiary = dom.window.$tDiary; + } + global.$ = dom.window.$; + global.jQuery = dom.window.jQuery; +} Deleted: spec/javascripts/support/jasmine.yml (+0 -17) 100644 =================================================================== --- spec/javascripts/support/jasmine.yml 2025-06-06 17:13:13 +0900 (364d3eeb) +++ /dev/null @@ -1,17 +0,0 @@ -src_files: - - "node_modules/jquery/dist/jquery.js" - - "node_modules/jasmine-jquery/lib/jasmine-jquery.js" - - "js/**/*.js" - -stylesheets: - - "theme/**/*.css" - -helpers: - - "helpers/**/*.js" - -spec_files: - - "**/*_[sS]pec.js" - -src_dir: - -spec_dir: spec/javascripts Added: spec/support/jasmine.json (+13 -0) 100644 =================================================================== --- /dev/null +++ spec/support/jasmine.json 2025-06-09 15:53:51 +0900 (fb48cbf9) @@ -0,0 +1,13 @@ +{ + "spec_dir": "spec/javascripts", + "spec_files": [ + "**/*[sS]pec.js" + ], + "helpers": [ + "helpers/**/*.js" + ], + "env": { + "stopOnFailure": false, + "random": false + } +} Added: spec/support/jasmine.mjs (+14 -0) 100644 =================================================================== --- /dev/null +++ spec/support/jasmine.mjs 2025-06-09 15:53:51 +0900 (3a90e951) @@ -0,0 +1,14 @@ +export default { + spec_dir: "spec/javascripts", + spec_files: [ + "**/*[sS]pec.js" + ], + helpers: [ + "helpers/**/*.js" + ], + env: { + stopSpecOnExpectationFailure: false, + random: false, + forbidDuplicateNames: true + } +} |
From: Hiroshi S. <nul...@cl...> - 2025-06-09 09:03:10
|
Hiroshi SHIBATA 2025-06-09 18:02:40 +0900 (Mon, 09 Jun 2025) Revision: da562667291fdfd977841b37190658932b0d15b3 https://github.com/tdiary/tdiary-core/commit/da562667291fdfd977841b37190658932b0d15b3 Message: Removed unnecessary task Removed files: lib/tdiary/tasks/jasmine.rake Deleted: lib/tdiary/tasks/jasmine.rake (+0 -21) 100644 =================================================================== --- lib/tdiary/tasks/jasmine.rake 2025-06-09 18:01:48 +0900 (4277817c) +++ /dev/null @@ -1,21 +0,0 @@ -begin - require_relative "../../rack/server" - - desc "Run JavaScript tests with Jasmine" - task :jasmine do - puts "Running JavaScript tests with npm jasmine..." - system("npm test") || abort("JavaScript tests failed") - end -rescue LoadError - task :jasmine do - abort "Node.js and npm are required to run JavaScript tests. Please install Node.js and run 'npm install'" - end -end - -# Local Variables: -# mode: ruby -# indent-tabs-mode: t -# tab-width: 3 -# ruby-indent-level: 3 -# End: -# vim: ts=3 |
From: Hiroshi S. <nul...@cl...> - 2025-06-09 09:03:05
|
Hiroshi SHIBATA 2025-06-09 18:01:48 +0900 (Mon, 09 Jun 2025) Revision: 95e8f28885e492df79340f3ce8451d712661461f https://github.com/tdiary/tdiary-core/commit/95e8f28885e492df79340f3ce8451d712661461f Message: Run npm test instead of rake jasmine:ci Modified files: .github/workflows/ci.yml Modified: .github/workflows/ci.yml (+6 -12) =================================================================== --- .github/workflows/ci.yml 2025-06-09 17:59:55 +0900 (ff0e043c) +++ .github/workflows/ci.yml 2025-06-09 18:01:48 +0900 (1278a7b0) @@ -21,6 +21,10 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} + - uses: actions/setup-node@v3 + with: + node-version: '22' + if: matrix.test_mode == 'rack' - name: Install dependencies run: | echo 'gemspec' > Gemfile.local @@ -32,18 +36,8 @@ jobs: - name: Run test (rack) run: | bundle exec rake spec test - - # We need to install PhantomJS manually because jasmine gem couldn't download it - wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2 - tar xf phantomjs-2.1.1-linux-x86_64.tar.bz2 - sudo mv phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/ - sudo chmod +x /usr/local/bin/phantomjs - sudo apt-get install libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev - - # jasmine gem did not support Rack 3.1 - sed -i "s/gem 'rack'/gem 'rack', '~> 3.0.18'/g" Gemfile - bundle install --without server --jobs=3 --retry=3 - bundle exec rake jasmine:ci + npm install + npm test env: OPENSSL_CONF: /etc/ssl if: matrix.test_mode == 'rack' |
From: Hiroshi S. <nul...@cl...> - 2025-06-09 09:03:04
|
Hiroshi SHIBATA 2025-06-09 17:59:55 +0900 (Mon, 09 Jun 2025) Revision: 46f9220e11ad4b48cd0d41b3724ec72f85ec33c9 https://github.com/tdiary/tdiary-core/commit/46f9220e11ad4b48cd0d41b3724ec72f85ec33c9 Message: Removed jasmine gem Modified files: Gemfile.lock Modified: Gemfile.lock (+0 -8) =================================================================== --- Gemfile.lock 2025-06-09 15:53:51 +0900 (aa732154) +++ Gemfile.lock 2025-06-09 17:59:55 +0900 (cf594d38) @@ -29,12 +29,6 @@ GEM net-http (>= 0.5.0) fastimage (2.4.0) hikidoc (0.1.0) - jasmine (2.99.0) - jasmine-core (>= 2.99.0, < 3.0.0) - phantomjs - rack (>= 1.2.1) - rake - jasmine-core (2.99.2) json (2.12.2) launchy (3.1.1) addressable (~> 2.8) @@ -86,7 +80,6 @@ GEM octokit (10.0.0) faraday (>= 1, < 3) sawyer (~> 0.9) - phantomjs (2.1.1.0) pit (0.0.7) power_assert (2.0.5) public_suffix (6.0.2) @@ -182,7 +175,6 @@ DEPENDENCIES emot fastimage hikidoc - jasmine (< 3) launchy mail mime-types |