• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / tigerdata-app / e091d009-5a3a-4ffa-a23a-daa4e1d7e0e7

21 Oct 2025 09:38PM UTC coverage: 79.122% (-8.2%) from 87.292%
e091d009-5a3a-4ffa-a23a-daa4e1d7e0e7

push

circleci

web-flow
Bump vite from 5.4.20 to 5.4.21 in the npm_and_yarn group across 1 directory (#2062)

Bumps the npm_and_yarn group with 1 update in the / directory:
[vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).

Updates `vite` from 5.4.20 to 5.4.21
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v5.4.21</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted -->5.4.21 (2025-10-20)<!-- raw HTML omitted
--></h2>
<ul>
<li>fix(dev): trim trailing slash before <code>server.fs.deny</code>
check (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968">#20968</a>)
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20970">#20970</a>)
(<a
href="https://github.com/vitejs/vite/commit/<a class=hub.com/pulibrary/tigerdata-app/commit/cad1d31d0635dd8fd4ddfe6e5a92eb9ff13cd06c">cad1d31d0<a href="https://github.com/pulibrary/tigerdata-app/commit/b45666a26476ff4bf99d2a0465a0b5ebbdf98838">&quot;&gt;cad1d31&lt;/a&gt;),
closes &lt;a
href=&quot;https://redirect.github.com/vitejs/vite/issues/20968&quot;&gt;#20968&lt;/a&gt;
&lt;a
href=&quot;https://redirect.github.com/vitejs/vite/issues/20970">#20970</a></li>
<li>chore: update CHANGELOG (<a
href="https://github.com/vitejs/vite/commit/<a class="double-link" href="https://github.com/pulibrary/tigerdata-app/commit/ca88ed7398288ce0c60176ac9a6392f10654c67c">ca88ed739</a><a href="https://github.com/pulibrary/tigerdata-app/commit/b45666a26476ff4bf99d2a0465a0b5ebbdf98838">&quot;&gt;ca88ed7&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Commits&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/vitejs/vite/commit/</a><a class="double-link" href="https://github.com/pulibrary/tigerdata-app/commit/adce3c22c64cc9d44cc8f45cc92b543e3e4bf385">adce3c22c">adce3c2
release: v5.4.21
  • cad1d31 fix(dev): trim trailing slash before server.fs.deny check (
  • 2380 of 3008 relevant lines covered (79.12%)

    148.71 hits per line

    Source File
    Press 'n' to go to next uncovered line, 'b' for previous

    100.0
    /app/presenters/project_show_presenter.rb
    1
    # frozen_string_literal: true
    
    2
    class ProjectShowPresenter
    
    2✔
    3
      delegate "id", "in_mediaflux?", "mediaflux_id", "status", "title", to: :project
    
    2✔
    4
      delegate "description", "project_id", "storage_performance_expectations", "project_purpose", to: :project_metadata
    
    2✔
    5
    
    
    6
      attr_reader :project, :project_metadata
    
    2✔
    7
    
    
    8
      # @return [Class] The presenter class for building XML Documents from Projects
    
    9
      def self.xml_presenter_class
    
    2✔
    10
        ProjectXmlPresenter
    
    5✔
    11
      end
    
    12
    
    
    13
      def initialize(project)
    
    2✔
    14
        @project = project
    
    129✔
    15
        @project_metadata = @project.metadata_model
    
    129✔
    16
      end
    
    17
    
    
    18
      # @return [String] the XML for the project Document 
    
    19
      def to_xml
    
    2✔
    20
        xml_document.to_xml
    
    5✔
    21
      end
    
    22
    
    
    23
      # @return [Nokogiri::XML::Document] the XML Document for the Project
    
    24
      def xml_document
    
    2✔
    25
        @xml_document ||= xml_presenter.document
    
    5✔
    26
      end
    
    27
    
    
    28
      def created
    
    2✔
    29
        @project.created_at.strftime("%b %e, %Y %l:%M %p")
    
    33✔
    30
      end
    
    31
    
    
    32
      def updated
    
    2✔
    33
        @project.updated_at.strftime("%b %e, %Y %l:%M %p")
    
    33✔
    34
      end
    
    35
    
    
    36
      def data_sponsor
    
    2✔
    37
        User.find_by(uid: @project.metadata["data_sponsor"]).uid
    
    33✔
    38
      end
    
    39
    
    
    40
      def data_manager
    
    2✔
    41
        User.find_by(uid: @project.metadata["data_manager"]).uid
    
    33✔
    42
      end
    
    43
    
    
    44
      # used to hide the project root that is not visible to the end user
    
    45
      def project_directory
    
    2✔
    46
        project.project_directory.gsub(Mediaflux::Connection.hidden_root, "")
    
    11✔
    47
      end
    
    48
    
    
    49
      def storage_capacity(session_id: nil)
    
    2✔
    50
        return project_metadata.storage_capacity if session_id.nil?
    
    33✔
    51
    
    
    52
        persisted = project.storage_capacity_raw(session_id: session_id)
    
    33✔
    53
        value = persisted.to_f
    
    33✔
    54
    
    
    55
        value*default_capacity_divisor
    
    33✔
    56
      end
    
    57
    
    
    58
      def formatted_storage_capacity(session_id:)
    
    2✔
    59
        value = storage_capacity(session_id: session_id)
    
    33✔
    60
        format("%.3f", value)
    
    33✔
    61
      end
    
    62
    
    
    63
      def formatted_quota_percentage(session_id:)
    
    2✔
    64
        value = quota_percentage(session_id:)
    
    33✔
    65
        format("%.3f", value)
    
    33✔
    66
      end
    
    67
    
    
    68
      def quota_usage(session_id:)
    
    2✔
    69
        "#{project.storage_usage(session_id:)} out of #{project.storage_capacity(session_id:)} used"
    
    215✔
    70
      end
    
    71
    
    
    72
      def quota_percentage(session_id:)
    
    2✔
    73
        storage_capacity = project.storage_capacity_raw(session_id:)
    
    157✔
    74
        return 0 if storage_capacity.zero?
    
    157✔
    75
    
    
    76
        storage_usage = project.storage_usage_raw(session_id:)
    
    43✔
    77
        (storage_usage.to_f / storage_capacity.to_f) * 100
    
    43✔
    78
      end
    
    79
    
    
    80
      private
    
    2✔
    81
    
    
    82
        # Capacity is in bytes
    
    83
        def default_capacity_divisor
    
    2✔
    84
          1.0/(1000.0**3)
    
    33✔
    85
        end
    
    86
    
    
    87
        def xml_presenter_args
    
    2✔
    88
          project
    
    5✔
    89
        end
    
    90
    
    
    91
        def xml_presenter
    
    2✔
    92
          @xml_presenter ||= self.class.xml_presenter_class.new(xml_presenter_args)
    
    5✔
    93
        end
    
    94
    end
    
    STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
    ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

    © 2025 Coveralls, Inc