Sha256: 9c4216fa802d71b9a511dc328cee2827baa22a9659b8d4bdc3e072b9b6e18410
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
require 'json' require 'sem_version' module Incr module Command class Npm PACKAGE_JSON_FILENAME = 'package.json'.freeze PACKAGE_LOCK_JSON_FILENAME = 'package-lock.json'.freeze def initialize(args) @segment = args[0] end def execute package_json = parse_content(PACKAGE_JSON_FILENAME) if package_json == nil return end file_version = package_json['version'] old_version = SemVersion.new(file_version) new_version = Incr::Service::Version.increment_segment(old_version, @segment) Incr::Service::FileHelper.replace(PACKAGE_JSON_FILENAME, version_pattern(old_version.to_s), version_pattern(new_version.to_s)) Incr::Service::FileHelper.replace(PACKAGE_LOCK_JSON_FILENAME, version_pattern(old_version.to_s), version_pattern(new_version.to_s)) puts "v#{new_version.to_s}" git = Incr::Service::Git.new('.') git.add(PACKAGE_JSON_FILENAME) git.add(PACKAGE_LOCK_JSON_FILENAME) oid = git.commit(new_version.to_s) git.tag("v#{new_version.to_s}", oid) end private def parse_content(filename) if !File.exist?(filename) STDERR.puts("[Err] '#{filename}' not found.") return nil end JSON.parse(IO.read(filename)) end def version_pattern(version) "\"version\": \"#{version}\"" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
incr-0.2.0 | lib/incr/command/npm.rb |
incr-0.1.2 | lib/incr/command/npm.rb |