Sha256: f36887e306e93c9e818516a0f4c2e283e7ea2f755745c4f1fe16ac09aa5140bc

Contents?: true

Size: 852 Bytes

Versions: 3

Compression:

Stored size: 852 Bytes

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Infrastructure
      class NoopDependencyManager
        def initialize(_ctx, language, _extension_point, script_name)
          @language = language
          @script_name = script_name
        end

        def bootstrap
        end

        def installed?
        end

        def install
        end
      end

      class DependencyManager
        DEP_MANAGER = {
          "ts" => AssemblyScriptDependencyManager,
          "js" => NoopDependencyManager,
          "json" => NoopDependencyManager,
        }

        def self.for(ctx, language, extension_point, script_name)
          raise Errors::DependencyError, language unless DEP_MANAGER[language]
          DEP_MANAGER[language].new(ctx, language, extension_point, script_name)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
shopify-cli-0.9.2 lib/project_types/script/layers/infrastructure/dependency_manager.rb
shopify-cli-0.9.1 lib/project_types/script/layers/infrastructure/dependency_manager.rb
shopify-cli-0.9.0 lib/project_types/script/layers/infrastructure/dependency_manager.rb