k_builder-watch 0.0.7 → 0.0.12
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 +4 -4
- data/.builders/_initialize.rb +16 -0
- data/.builders/basic.rb +34 -0
- data/.builders/x.rb +0 -0
- data/.gitignore +1 -0
- data/exe/k_builder-watch +17 -0
- data/k_builder-watch.gemspec +3 -5
- data/lib/k_builder/watch/version.rb +1 -1
- data/lib/k_builder/watch/watcher.rb +20 -14
- metadata +9 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6404958f71123a099200477f721f4445c909e7f24d38e7b173e0403eed1a89c8
|
4
|
+
data.tar.gz: 871f0744ba82f69db71a6d4bcea21502237c702372d3668f8ad516f03fa42d16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2067da17c014db133c885e9431ce23306346ff9d70645ee224fae07640c71e75e1887ac2b35809d2286a748aaf281fd43b807a0f9944ddc697505a1de728bf28
|
7
|
+
data.tar.gz: 4a016a9f28efa3f3fbd158c4d6f81ef9f7db163354e57d8aea158247d6923f8f95a5ce8b3f28bdd49746f2ee285cd93cd6248dfeff9d2be9085b5e64f7fde490
|
@@ -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
|
+
|
data/.builders/basic.rb
ADDED
@@ -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
data/exe/k_builder-watch
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../lib'))
|
6
|
+
|
7
|
+
require 'k_builder/watch'
|
8
|
+
|
9
|
+
# directory = '/Users/davidcruwys/dev/c#/P04DomainMonopolyV1'
|
10
|
+
|
11
|
+
cli = KBuilder::Watch::Cli.new
|
12
|
+
cli.execute
|
13
|
+
|
14
|
+
unless cli.debug
|
15
|
+
watcher = KBuilder::Watch::Watcher.new(cli.watch_path)
|
16
|
+
watcher.start
|
17
|
+
end
|
data/k_builder-watch.gemspec
CHANGED
@@ -33,14 +33,12 @@ Gem::Specification.new do |spec|
|
|
33
33
|
f.match(%r{^(test|spec|features)/})
|
34
34
|
end
|
35
35
|
end
|
36
|
-
spec.bindir = '
|
37
|
-
|
38
|
-
puts spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
39
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
36
|
+
spec.bindir = 'exe'
|
37
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
40
38
|
spec.require_paths = ['lib']
|
41
39
|
# spec.extensions = ['ext/k_builder/watch/extconf.rb']
|
42
40
|
|
43
|
-
spec.add_dependency 'filewatcher', '~> 0.0'
|
41
|
+
spec.add_dependency 'filewatcher', '~> 2.0.0.beta3'
|
44
42
|
spec.add_dependency 'k_builder', '~> 0.0'
|
45
43
|
spec.add_dependency 'k_builder-package_json', '~> 0.0'
|
46
44
|
spec.add_dependency 'k_builder-webpack5', '~> 0.0'
|
@@ -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
|
-
#
|
13
|
+
# Watcher does the actual file watching and run the processor
|
13
14
|
class Watcher
|
14
15
|
attr_accessor :directory
|
15
16
|
|
@@ -21,34 +22,39 @@ module KBuilder
|
|
21
22
|
# watch_file = File.join(directory, 'DOMAIN_INSTRUCTIONS.MD')
|
22
23
|
|
23
24
|
def start
|
25
|
+
clear_screen
|
24
26
|
puts 'Watching for file changes'
|
25
27
|
puts "Directory: #{directory}"
|
26
28
|
# puts "Watch File: #{watch_file}"
|
27
29
|
|
28
|
-
Filewatcher.new(directory).watch do |
|
29
|
-
|
30
|
-
|
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
|
-
|
43
|
-
|
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
|
48
|
-
rescue
|
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
51
|
end
|
52
|
+
# rubocop:enable Lint/RescueException
|
53
|
+
end
|
54
|
+
|
55
|
+
def clear_screen
|
56
|
+
puts "\n" * 70
|
57
|
+
$stdout.clear_screen
|
52
58
|
end
|
53
59
|
end
|
54
60
|
end
|
metadata
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: k_builder-watch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
11
|
date: 2021-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
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:
|
26
|
+
version: 2.0.0.beta3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: k_builder
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -71,15 +71,13 @@ description: " K-Builder-Watch will watch k_builder files and when they chang
|
|
71
71
|
email:
|
72
72
|
- david@ideasmen.com.au
|
73
73
|
executables:
|
74
|
-
-
|
75
|
-
- k
|
76
|
-
- kgitsync
|
77
|
-
- khotfix
|
78
|
-
- run
|
79
|
-
- setup
|
74
|
+
- k_builder-watch
|
80
75
|
extensions: []
|
81
76
|
extra_rdoc_files: []
|
82
77
|
files:
|
78
|
+
- ".builders/_initialize.rb"
|
79
|
+
- ".builders/basic.rb"
|
80
|
+
- ".builders/x.rb"
|
83
81
|
- ".github/workflows/main.yml"
|
84
82
|
- ".gitignore"
|
85
83
|
- ".rspec"
|
@@ -99,6 +97,7 @@ files:
|
|
99
97
|
- bin/khotfix
|
100
98
|
- bin/run
|
101
99
|
- bin/setup
|
100
|
+
- exe/k_builder-watch
|
102
101
|
- hooks/pre-commit
|
103
102
|
- hooks/update-version
|
104
103
|
- k_builder-watch.gemspec
|