8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/sylvia/prettier.rb', line 8
def self.setup
if File.exist?(PRETTIER_FILE)
puts "#{PRETTIER_FILE} already exists. Skipping."
return
end
prettier_config = " {\n \"plugins\": [\"@prettier/plugin-ruby\"],\n \"rubyStrictMode\": false,\n \"tabWidth\": 2,\n \"useTabs\": false,\n \"singleQuote\": true\n }\n JSON\n\n File.write(PRETTIER_FILE, prettier_config)\n puts \"Created \#{PRETTIER_FILE}\"\n\n unless File.exist?(PACKAGE_FILE)\n puts 'Running `npm init -y`...'\n system('npm init -y')\n end\n\n package_json = JSON.parse(File.read(PACKAGE_FILE))\n package_json['devDependencies'] ||= {}\n package_json['devDependencies']['prettier'] = '^3.5.3'\n package_json['devDependencies']['@prettier/plugin-ruby'] = '^4.0.4'\n File.write(PACKAGE_FILE, JSON.pretty_generate(package_json))\n puts \"Updated \#{PACKAGE_FILE} devDependencies\"\n\n puts 'Running `npm install`...'\n system('npm install')\n\n gemfile = 'Gemfile'\n if File.exist?(gemfile)\n content = File.read(gemfile)\n if content.include?('gem \"syntax_tree\"')\n puts 'Gemfile already contains syntax_tree'\n else\n File.open(gemfile, 'a') { |f| f.puts \"\\ngem \\\"syntax_tree\\\"\" }\n puts \"Added gem 'syntax_tree' to Gemfile\"\n end\n\n puts 'Running `bundle install`...'\n system('bundle install')\n else\n puts 'No Gemfile found. Skipping syntax_tree installation.'\n end\n\n puts 'Prettier setup complete!'\nend\n"
|