captive-stack-detector 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90941f32baec2a11887a86f8b2b5212035bc56d6a9784e8c4699c696b06d5c4e
4
- data.tar.gz: dd115a9f8c3c7813696f57d60db6e08a52c1887b23f8691221639ff243a9f451
3
+ metadata.gz: e4f2656af806d9f89b0aa5ce49b800c4d6ac74847d0e02b77b0d2a564d8efb01
4
+ data.tar.gz: 61eb328e61f3b6680c8e3288d5bd857b5b763a25167984ad60ff1ec24bf48c64
5
5
  SHA512:
6
- metadata.gz: 569b59be5c2cc4ebab157f87793cdc29c4d41d02ec0a7feb89e32e964651fbe9dbb0ff821a40b9f3359513c0d21f60539debf4ca48ce3996c520cdd6df1a4d2e
7
- data.tar.gz: 02defd41d2c84c7f697b2cef7bce1a8d225712361c5c1b4731cd609c28364c84deac98a9318d7d984800d7671750d2f8ba8b4d768829c08a48ef1814c95c5a73
6
+ metadata.gz: a7c34a15f55d031649e013fc416c11bdb90bc35a4fc8aba67654e94dff2a02705efbe4b25ccd074fdaf8636fbfd325498a6827d2dd766cd7847190b8171e997f
7
+ data.tar.gz: 72c6a1135a5018c7068731e2f691da574d60cd5a04f26db9acef0390411095080d0cd8c0878c4ac335305b24f791e571f3e91bb405b8c00bd535e24aa1bc7dc4
@@ -16,7 +16,7 @@ module CaptiveStackDetector
16
16
 
17
17
  Result.new(
18
18
  type: type,
19
- subtype: nil,
19
+ subtype: @analyzer.subtype,
20
20
  services: Services.new(database: @analyzer.database, queue: @analyzer.queue),
21
21
  worker: build_worker,
22
22
  runtime: Runtime.new(ruby: nil, node: @reader.node_version),
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "json"
4
+ require_relative "ssr_framework_detector"
4
5
 
5
6
  module CaptiveStackDetector
6
7
  class PackageJsonAnalyzer
@@ -15,6 +16,10 @@ module CaptiveStackDetector
15
16
  nil
16
17
  end
17
18
 
19
+ def subtype
20
+ SsrFrameworkDetector.server?(deps) ? "server" : nil
21
+ end
22
+
18
23
  def database
19
24
  deps.key?("pg") ? "postgres" : nil
20
25
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CaptiveStackDetector
4
+ # Reconnaît les frameworks JS rendus côté serveur (SSR) à partir des dépendances.
5
+ module SsrFrameworkDetector
6
+ FRAMEWORKS = %w[next nuxt @sveltejs/kit].freeze
7
+ SCOPES = %w[@remix-run/].freeze
8
+
9
+ def self.server?(deps)
10
+ FRAMEWORKS.any? { |framework| deps.key?(framework) } ||
11
+ deps.keys.any? { |dep| SCOPES.any? { |scope| dep.start_with?(scope) } }
12
+ end
13
+ end
14
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CaptiveStackDetector
4
- VERSION = "0.2.4"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: captive-stack-detector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Captive Studio
@@ -29,6 +29,7 @@ files:
29
29
  - lib/captive_stack_detector/package_json_analyzer.rb
30
30
  - lib/captive_stack_detector/rails_stack_detector.rb
31
31
  - lib/captive_stack_detector/ruby_version_detector.rb
32
+ - lib/captive_stack_detector/ssr_framework_detector.rb
32
33
  - lib/captive_stack_detector/system_package_detector.rb
33
34
  - lib/captive_stack_detector/types.rb
34
35
  - lib/captive_stack_detector/version.rb
@@ -50,7 +51,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
50
51
  - !ruby/object:Gem::Version
51
52
  version: '0'
52
53
  requirements: []
53
- rubygems_version: 4.0.10
54
+ rubygems_version: 4.0.16
54
55
  specification_version: 4
55
56
  summary: Détection de stack (Rails, Node, Expo) à partir du contenu de fichiers de
56
57
  repo