captive-stack-detector 0.2.3 → 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: 53689ba57c5a735ec281c82ea9b38fd91e20e509117f69aeb939b6f49e7a98d3
4
- data.tar.gz: 12837a574f77ed04eb5e0a71aab90a3a2fa58082bd49391496844400e0db2a14
3
+ metadata.gz: e4f2656af806d9f89b0aa5ce49b800c4d6ac74847d0e02b77b0d2a564d8efb01
4
+ data.tar.gz: 61eb328e61f3b6680c8e3288d5bd857b5b763a25167984ad60ff1ec24bf48c64
5
5
  SHA512:
6
- metadata.gz: 97486347c8c428bc96d8cbe7e0ef2372ebb20c1500c67efcf210b26162e0f577868fd7f8596fc9d7b78ee5f1afde5f9ac4e1cbe171c22aa56b6479e9a9c11b7e
7
- data.tar.gz: 8c201c41acbd1a35be4841e050dd7d104895c07b48c2b4408b67c638ed9cadb098022bbb284ed126a079d5aee8f31201c8b77f360a9ffe25a4111769eda26d2b
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
@@ -16,7 +16,7 @@ module CaptiveStackDetector
16
16
  end
17
17
 
18
18
  def packages
19
- from_gemfile + from_aptfile
19
+ (from_gemfile + from_aptfile).uniq
20
20
  end
21
21
 
22
22
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CaptiveStackDetector
4
- VERSION = "0.2.3"
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.3
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