Sha256: 465451e497dbe3ac5aa9a0f38f45033e31b17a040d2f57fac587a6a6ef9790f8

Contents?: true

Size: 1.44 KB

Versions: 12

Compression:

Stored size: 1.44 KB

Contents

# frozen_string_literal: true

require 'open-uri'

module Dpl
  module Providers
    class Surge < Provider
      register :surge

      status :stable

      description sq(<<-STR)
        tbd
      STR

      node_js '>= 8.8.1'

      gem 'json'
      npm :surge
      env :surge

      opt '--login EMAIL', 'Surge login (the email address you use with Surge)', required: true
      opt '--token TOKEN', 'Surge login token (can be retrieved with `surge token`)', required: true, secret: true
      opt '--domain NAME', 'Domain to publish to. Not required if the domain is set in the CNAME file in the project folder.'
      opt '--project PATH', 'Path to project directory relative to repo root', default: '.'

      cmds deploy: 'surge %{project} %{domain}'

      msgs invalid_project: '%{project} is not a directory',
           missing_domain: 'Please set the domain in .travis.yml or in a CNAME file in the project directory'

      def login
        ENV['SURGE_LOGIN'] ||= opts[:login]
        ENV['SURGE_TOKEN'] ||= opts[:token]
      end

      def validate
        error :invalid_project if invalid_project?
        error :missing_domain  if missing_domain?
      end

      def deploy
        shell :deploy
      end

      def invalid_project?
        !File.directory?(project)
      end

      def missing_domain?
        !domain && !File.exist?("#{project}/CNAME")
      end

      def project
        expand(super, build_dir)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
dpl-2.0.5.3 lib/dpl/providers/surge.rb
dpl-2.0.5.3.beta.1 lib/dpl/providers/surge.rb
dpl-2.0.5.2 lib/dpl/providers/surge.rb
dpl-2.0.5.2.beta.1 lib/dpl/providers/surge.rb
dpl-2.0.5.1 lib/dpl/providers/surge.rb
dpl-2.0.5.beta.2.1 lib/dpl/providers/surge.rb
dpl-2.0.5.beta.2 lib/dpl/providers/surge.rb
dpl-2.0.5 lib/dpl/providers/surge.rb
dpl-2.0.5.beta.1 lib/dpl/providers/surge.rb
dpl-2.0.5.beta lib/dpl/providers/surge.rb
travis_dpl_test-2.0.3.beta.4.ror.1 lib/dpl/providers/surge.rb
travis_dpl_test-2.0.3.beta.4.ror lib/dpl/providers/surge.rb