k_builder-watch 0.0.8 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cb4057e4e3dafa4e89093235bee27a123304cb94798a809dd164e4b59026671a
4
- data.tar.gz: 40214b13ccb9b134e51ba657ea5b8c3408c6a97174bf9612e7d46855af5f45f3
3
+ metadata.gz: 7e76a86d8343b281e5666d924e104ee5a0bf4e15014fb75aad48d84a9e355ef9
4
+ data.tar.gz: b0b4b03e513eea00ef9c7754f3b2506ebd287daa54a41760ca1a4e799b3ca0dd
5
5
  SHA512:
6
- metadata.gz: a3509847331dd63bca85fb7a23842358989a322ae6eb82576bd090b62938f35ac57f9d45eec5373c9b62b0e5b392a34cebdc45b7ddb01783661cce049ec3b0d2
7
- data.tar.gz: 2cac1ea187ed99005e80980da9c0582e640549db738be0d12fdf3215338ec20eecff116311710122407de411bef73307760724b493a199ed5534c702ab97c16a
6
+ metadata.gz: defff1f756e63a15bf45702614008ea0212ce1e2d9043ea3126942c0f424f70c4d018d204b7e96942b0cab7cf3677dadd64b2866417ceeec6797abd57b5189c2
7
+ data.tar.gz: 0a1a251d0bc95a44482491e830db8b58a172b303d7c67af3d54661fcf382f3bae48ee974d15229baa2fcad4f925591bc7cb07526818a7292c88da250d7fc9fce
@@ -0,0 +1,16 @@
1
+ Handlebars::Helpers.configure do |config|
2
+ config_file = File.join(Gem.loaded_specs['handlebars-helpers'].full_gem_path, '.handlebars_helpers.json')
3
+ config.helper_config_file = config_file
4
+ end
5
+
6
+ KBuilder.reset
7
+ templates_ruby = '~/dev/kgems/k_dsl/_/.template/ruby-cmdlet'
8
+ target_root = '~/dev/kgems/k_builder-watch/'
9
+
10
+ KBuilder.configure do |config|
11
+ config.target_folders.add(:app , target_root)
12
+
13
+ config.template_folders.add(:global , File.join(templates_ruby , '.global_template'))
14
+ # config.template_folders.add(:app , File.join(template_root , '.app_template'))
15
+ end
16
+
@@ -0,0 +1,34 @@
1
+ # require '.builders/_initialize.rb'
2
+
3
+ $LOAD_PATH.unshift(File.join(Dir.pwd, '.builders'))
4
+ load 'x.rb'
5
+ puts 'fucit'
6
+ # load 'x.rb'
7
+ # puts JSON.pretty_generate(KBuilder.configuration.to_h)
8
+
9
+ # builder = KBuilder::BaseBuilder.init
10
+
11
+ # builder
12
+ # .add_file('main.rb', template_file: 'class.rb', name: 'main')
13
+ # .add_file('person.rb',
14
+ # template_file: 'model.rb',
15
+ # name: 'person',
16
+ # fields: %i[first_name last_name])
17
+ # .add_file('address.rb',
18
+ # template_file: 'model.rb',
19
+ # name: 'address',
20
+ # fields: %i[street1 street2 post_code state])
21
+ # .add_file('css/index.css',
22
+ # template: '{{#each colors}} .{{.}} { color: {{.}} } {{/each}}',
23
+ # colors: %w[red blue green],
24
+ # pretty: true)
25
+
26
+ # # /Users/davidcruwys/dev/xxx-watch
27
+ # # /Users/davidcruwys/dev/xxx-watch/basic.rb
28
+
29
+
30
+ # file = builder.target_file('main.rb')
31
+ # puts file
32
+ # puts File.exist?(file)
33
+ # system("code #{file}")
34
+ # puts 'basic'
data/.builders/x.rb ADDED
File without changes
data/.gitignore CHANGED
@@ -23,6 +23,7 @@ k_builder_watch.yml
23
23
  /doc/
24
24
  /pkg/
25
25
  /spec/reports/
26
+ /spec/samples-output/
26
27
  /tmp/
27
28
  !/tmp/.keep
28
29
  *.bundle
File without changes
@@ -34,11 +34,11 @@ Gem::Specification.new do |spec|
34
34
  end
35
35
  end
36
36
  spec.bindir = 'exe'
37
-
37
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
38
38
  spec.require_paths = ['lib']
39
39
  # spec.extensions = ['ext/k_builder/watch/extconf.rb']
40
40
 
41
- spec.add_dependency 'filewatcher', '~> 0.0'
41
+ spec.add_dependency 'filewatcher', '~> 2.0.0.beta3'
42
42
  spec.add_dependency 'k_builder', '~> 0.0'
43
43
  spec.add_dependency 'k_builder-package_json', '~> 0.0'
44
44
  spec.add_dependency 'k_builder-webpack5', '~> 0.0'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module KBuilder
4
4
  module Watch
5
- VERSION = '0.0.8'
5
+ VERSION = '0.0.13'
6
6
  end
7
7
  end
@@ -8,8 +8,9 @@ require 'io/console'
8
8
  # require 'handlebars/helpers/configuration'
9
9
 
10
10
  module KBuilder
11
+ # Watch supports any watch and execute processes for builders
11
12
  module Watch
12
- # Watch fo
13
+ # Watcher does the actual file watching and run the processor
13
14
  class Watcher
14
15
  attr_accessor :directory
15
16
 
@@ -21,33 +22,38 @@ module KBuilder
21
22
  # watch_file = File.join(directory, 'DOMAIN_INSTRUCTIONS.MD')
22
23
 
23
24
  def start
24
- puts 'Watching for file changes'
25
+ clear_screen
26
+ puts "KBuilder-Watch: v#{KBuilder::Watch::VERSION} is watching for file changes"
25
27
  puts "Directory: #{directory}"
26
28
  # puts "Watch File: #{watch_file}"
27
29
 
28
- Filewatcher.new(directory).watch do |filename, event|
29
- if (event == :updated) && filename # .casecmp(watch_file).zero?
30
- # puts "\n" * 70
31
- # $stdout.clear_screen
30
+ Filewatcher.new(directory).watch do |changes|
31
+ changes.each do |filename, event|
32
+ puts "File #{event}: #{filename}"
32
33
 
33
- process_updated_file(filename)
34
+ process_updated_file(filename) if event == :updated
34
35
  end
35
-
36
- puts "File deleted: #{filename}" if event == :delete
37
- puts "Added file: #{filename}" if event == :new
38
36
  end
39
37
  end
40
38
 
39
+ # rubocop:disable Lint/RescueException
41
40
  def process_updated_file(filename)
42
- puts "\n" * 70
43
- $stdout.clear_screen
41
+ $LOAD_PATH.unshift(File.join(Dir.pwd, '.builders'))
42
+ # Can I set __FILE__ during class_eval
43
+
44
44
  puts "File updated: #{filename}"
45
45
 
46
46
  content = File.read(filename)
47
- Object.class_eval content
48
- rescue StandardError => e
47
+ Object.class_eval(content, __FILE__, __LINE__)
48
+ rescue Exception => e
49
49
  puts e.message
50
- puts e.backtrace.join("\n")
50
+ puts e.backtrace.select { |ex| ex.start_with?(filename) }.join("\n")
51
+ end
52
+ # rubocop:enable Lint/RescueException
53
+
54
+ def clear_screen
55
+ puts "\n" * 70
56
+ $stdout.clear_screen
51
57
  end
52
58
  end
53
59
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k_builder-watch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.0'
19
+ version: 2.0.0.beta3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.0'
26
+ version: 2.0.0.beta3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: k_builder
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -70,10 +70,14 @@ description: " K-Builder-Watch will watch k_builder files and when they chang
70
70
  execute them\n"
71
71
  email:
72
72
  - david@ideasmen.com.au
73
- executables: []
73
+ executables:
74
+ - k_builder-watch
74
75
  extensions: []
75
76
  extra_rdoc_files: []
76
77
  files:
78
+ - ".builders/_initialize.rb"
79
+ - ".builders/basic.rb"
80
+ - ".builders/x.rb"
77
81
  - ".github/workflows/main.yml"
78
82
  - ".gitignore"
79
83
  - ".rspec"
@@ -93,7 +97,7 @@ files:
93
97
  - bin/khotfix
94
98
  - bin/run
95
99
  - bin/setup
96
- - exe/kw
100
+ - exe/k_builder-watch
97
101
  - hooks/pre-commit
98
102
  - hooks/update-version
99
103
  - k_builder-watch.gemspec