Skip to content

Commit adbc6bd

Browse files
Add rake npm:bump_version task
1 parent 62f73a7 commit adbc6bd

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

tasks/packaging.rake

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,31 @@ namespace :npm do
4747
end
4848
end
4949

50+
desc "Bump version"
51+
task :bump_version, [:package, :version] do |t, args|
52+
require "json"
53+
package = args[:package] or raise "package name is required"
54+
version = args[:version] or raise "version is required"
55+
pkg_dir = "#{Dir.pwd}/packages/npm-packages/#{package}"
56+
pkg_json = "#{pkg_dir}/package.json"
57+
package = JSON.parse(File.read(pkg_json))
58+
old_version = package["version"]
59+
pkg_name = package["name"]
60+
package["version"] = version
61+
File.write(pkg_json, JSON.pretty_generate(package) + "\n")
62+
63+
# Update package-lock.json
64+
Dir.chdir(pkg_dir) { sh "npm install" }
65+
# Update README.md and other docs
66+
%x(git grep -l #{pkg_name}@#{old_version}).split.each do |file|
67+
content = File.read(file)
68+
next_nightly = Date.today.strftime("%Y-%m-%d")
69+
content.gsub!(/#{pkg_name}@#{old_version}-\d{4}-\d{2}-\d{2}-a/, "#{pkg_name}@#{version}-#{next_nightly}-a")
70+
content.gsub!(/#{pkg_name}@#{old_version}/, "#{pkg_name}@#{version}")
71+
File.write(file, content)
72+
end
73+
end
74+
5075
desc "Build all npm packages"
5176
multitask :all => NPM_PACKAGES.map { |pkg| pkg[:name] }
5277
end

0 commit comments

Comments
 (0)