k_director 0.10.2 → 0.11.1
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/docs/CHANGELOG.md +29 -0
- data/lib/k_director/directors/base_director.rb +61 -1
- data/lib/k_director/dsls/children/blueprint.rb +0 -29
- data/lib/k_director/dsls/children/package_json.rb +37 -11
- data/lib/k_director/dsls/children/package_json_configuration.rb +9 -3
- data/lib/k_director/dsls/nuxt3_dsl.rb +0 -21
- data/lib/k_director/dsls/ruby_gem_dsl.rb +15 -15
- data/lib/k_director/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d6ee6da028f776a4ed4ed470290696dfcf2c15c0caa417666e9300f1d75ea390
|
|
4
|
+
data.tar.gz: 14dd16cd8185b21eef317ea6b8cfda1ee570c8559e77db264021722889962a74
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 34896604b4d9731e4a4ab0924572fdb65736bab9e71b63491ba16fd9d3f79418e3e63d4d81818048870333c002f76316846617df1ccbe5aaffb1c171e73efdc8
|
|
7
|
+
data.tar.gz: dcf6fd9985456ad96ac7383b29a08fcf020b8947502eac2af80c2618481f12bc193d180a1518d40cb4d074d8a8412dcaeecb5c017e1cddeda406ee365deab520
|
data/docs/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
# [0.11.0](https://github.com/klueless-io/k_director/compare/v0.10.4...v0.11.0) (2022-02-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* move github, blueprint and package_json fluent accessors onto BaseDirector ([88fa3fd](https://github.com/klueless-io/k_director/commit/88fa3fd0df530bef3731f0b4a62369d925df2fa5))
|
|
7
|
+
|
|
8
|
+
## [0.10.4](https://github.com/klueless-io/k_director/compare/v0.10.3...v0.10.4) (2022-02-07)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* add active option so that child directors can be suppressed or executed ([8a57617](https://github.com/klueless-io/k_director/commit/8a57617eea20dd9a020aec329bd994b3c444f087))
|
|
14
|
+
|
|
15
|
+
## [0.10.3](https://github.com/klueless-io/k_director/compare/v0.10.2...v0.10.3) (2022-02-06)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* package_json and multi-settings #settings(**opts, group: nil) ([7f23a08](https://github.com/klueless-io/k_director/commit/7f23a08751c3bca7ea99685f33a95eeed8786e1a))
|
|
21
|
+
|
|
22
|
+
## [0.10.2](https://github.com/klueless-io/k_director/compare/v0.10.1...v0.10.2) (2022-02-06)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* package_json, remove_package_lcok, remove_yarn_locak, create_yarn_lock ([d69c6a5](https://github.com/klueless-io/k_director/commit/d69c6a53a80551cdf5ac73024de8d2e597c37614))
|
|
28
|
+
* package_json, remove_package_lcok, remove_yarn_locak, create_yarn_lock ([fdeef48](https://github.com/klueless-io/k_director/commit/fdeef481763160ca0c8d306491d7eb2e29536641))
|
|
29
|
+
|
|
1
30
|
## [0.10.1](https://github.com/klueless-io/k_director/compare/v0.10.0...v0.10.1) (2022-02-06)
|
|
2
31
|
|
|
3
32
|
|
|
@@ -32,6 +32,7 @@ module KDirector
|
|
|
32
32
|
@options.template_base_folder ||= default_template_base_folder
|
|
33
33
|
@options.on_exist ||= :skip # %i[skip write compare]
|
|
34
34
|
@options.on_action ||= :queue # %i[queue execute]
|
|
35
|
+
@options.active = true unless defined?(@options.active)
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
def data(name = nil, **opts)
|
|
@@ -55,7 +56,8 @@ module KDirector
|
|
|
55
56
|
{
|
|
56
57
|
on_exist: @options.on_exist,
|
|
57
58
|
on_action: @options.on_action,
|
|
58
|
-
template_base_folder: @options.template_base_folder
|
|
59
|
+
template_base_folder: @options.template_base_folder,
|
|
60
|
+
active: @options.active
|
|
59
61
|
}.merge(opts)
|
|
60
62
|
end
|
|
61
63
|
|
|
@@ -63,6 +65,10 @@ module KDirector
|
|
|
63
65
|
k_builder.configuration
|
|
64
66
|
end
|
|
65
67
|
|
|
68
|
+
def active?
|
|
69
|
+
@options.active == true
|
|
70
|
+
end
|
|
71
|
+
|
|
66
72
|
def director_name
|
|
67
73
|
@options.director_name
|
|
68
74
|
end
|
|
@@ -83,6 +89,37 @@ module KDirector
|
|
|
83
89
|
@options.on_action
|
|
84
90
|
end
|
|
85
91
|
|
|
92
|
+
# Add a single file into the code base
|
|
93
|
+
#
|
|
94
|
+
# This is a wrapper around add_file that will add the file to the codebase using template path rules
|
|
95
|
+
#
|
|
96
|
+
# @param [String] output_filename The output file name, this can be a relative path
|
|
97
|
+
# @param [Hash] **opts The options
|
|
98
|
+
# @option opts [String] :template_filename Template filename can be set or it will default to the same value as the output file name
|
|
99
|
+
# @option opts [String] :template_subfolder Template subfolder
|
|
100
|
+
def add(output_file, **opts)
|
|
101
|
+
template_file = opts[:template_file] || output_file
|
|
102
|
+
template_parts = [template_base_folder, opts[:template_subfolder], template_file].reject(&:blank?)
|
|
103
|
+
template_path = File.join(*template_parts)
|
|
104
|
+
|
|
105
|
+
# maybe template_file should be renamed to template_path in k_builder
|
|
106
|
+
opts[:template_file] = template_path
|
|
107
|
+
|
|
108
|
+
add_file(output_file, **opts)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def oadd(name, **opts)
|
|
112
|
+
add(name, **{ open: true }.merge(opts))
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def tadd(name, **opts)
|
|
116
|
+
add(name, **{ open_template: true }.merge(opts))
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def fadd(name, **opts)
|
|
120
|
+
add(name, **{ on_exist: :write }.merge(opts))
|
|
121
|
+
end
|
|
122
|
+
|
|
86
123
|
# Add a file to target folder
|
|
87
124
|
def add_file(file, **opts)
|
|
88
125
|
opts = {
|
|
@@ -127,6 +164,29 @@ module KDirector
|
|
|
127
164
|
k_builder.play_actions(builder.actions)
|
|
128
165
|
end
|
|
129
166
|
|
|
167
|
+
# Common child directors
|
|
168
|
+
|
|
169
|
+
def github(**opts, &block)
|
|
170
|
+
github = KDirector::Dsls::Children::Github.new(self, **opts)
|
|
171
|
+
github.instance_eval(&block) if github.active? && block_given?
|
|
172
|
+
|
|
173
|
+
self
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def package_json(**opts, &block)
|
|
177
|
+
package_json = KDirector::Dsls::Children::PackageJson.new(self, **opts)
|
|
178
|
+
package_json.instance_eval(&block) if package_json.active? && block_given?
|
|
179
|
+
|
|
180
|
+
self
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def blueprint(**opts, &block)
|
|
184
|
+
blueprint = KDirector::Dsls::Children::Blueprint.new(self, **opts)
|
|
185
|
+
blueprint.instance_eval(&block) if blueprint.active? && block_given?
|
|
186
|
+
|
|
187
|
+
self
|
|
188
|
+
end
|
|
189
|
+
|
|
130
190
|
def debug
|
|
131
191
|
debug_options
|
|
132
192
|
debug_dom
|
|
@@ -7,35 +7,6 @@ module KDirector
|
|
|
7
7
|
#
|
|
8
8
|
# A blueprint is a recipe that you can follow to build out assets on the target application
|
|
9
9
|
class Blueprint < KDirector::Directors::ChildDirector
|
|
10
|
-
# Add a single file into the code base
|
|
11
|
-
#
|
|
12
|
-
# @param [String] output_filename The output file name, this can be a relative path
|
|
13
|
-
# @param [Hash] **opts The options
|
|
14
|
-
# @option opts [String] :template_filename Template filename can be set or it will default to the same value as the output file name
|
|
15
|
-
# @option opts [String] :template_subfolder Template subfolder
|
|
16
|
-
def add(output_file, **opts)
|
|
17
|
-
template_file = opts[:template_file] || output_file
|
|
18
|
-
template_parts = [template_base_folder, opts[:template_subfolder], template_file].reject(&:blank?)
|
|
19
|
-
template_path = File.join(*template_parts)
|
|
20
|
-
|
|
21
|
-
# maybe template_file should be renamed to template_path in k_builder
|
|
22
|
-
opts[:template_file] = template_path
|
|
23
|
-
|
|
24
|
-
add_file(output_file, **opts)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def oadd(name, **opts)
|
|
28
|
-
add(name, **{ open: true }.merge(opts))
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def tadd(name, **opts)
|
|
32
|
-
add(name, **{ open_template: true }.merge(opts))
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def fadd(name, **opts)
|
|
36
|
-
add(name, **{ on_exist: :write }.merge(opts))
|
|
37
|
-
end
|
|
38
|
-
|
|
39
10
|
# def template_content(template_file, **opts)
|
|
40
11
|
# template_parts = [template_base_folder, opts[:template_subfolder], template_file].reject(&:blank?)
|
|
41
12
|
# template_file = File.join(*template_parts)
|
|
@@ -159,6 +159,28 @@ module KDirector
|
|
|
159
159
|
@package
|
|
160
160
|
end
|
|
161
161
|
|
|
162
|
+
# Package.settings is a hash of settings that can be applied to package.json
|
|
163
|
+
# ----------------------------------------------------------------------
|
|
164
|
+
|
|
165
|
+
# Settings
|
|
166
|
+
#
|
|
167
|
+
# Add multiple settings to the package.json
|
|
168
|
+
# @param opts [Hash] Hash of settings to add
|
|
169
|
+
# opts[:group] is the group to add the settings to
|
|
170
|
+
def settings(**opts)
|
|
171
|
+
load
|
|
172
|
+
|
|
173
|
+
group = opts.delete(:group)
|
|
174
|
+
|
|
175
|
+
opts.each do |key, value|
|
|
176
|
+
set_key_value(key, value, group: group)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
write
|
|
180
|
+
|
|
181
|
+
self
|
|
182
|
+
end
|
|
183
|
+
|
|
162
184
|
# Package.set
|
|
163
185
|
# ----------------------------------------------------------------------
|
|
164
186
|
|
|
@@ -166,15 +188,7 @@ module KDirector
|
|
|
166
188
|
def set(key, value, group: nil)
|
|
167
189
|
load
|
|
168
190
|
|
|
169
|
-
key
|
|
170
|
-
|
|
171
|
-
if group.nil?
|
|
172
|
-
@package[key] = value
|
|
173
|
-
else
|
|
174
|
-
group = group.to_s.strip
|
|
175
|
-
@package[group] = {} unless @package[group]
|
|
176
|
-
@package[group][key] = value
|
|
177
|
-
end
|
|
191
|
+
set_key_value(key, value, group: group)
|
|
178
192
|
|
|
179
193
|
write
|
|
180
194
|
|
|
@@ -245,8 +259,8 @@ module KDirector
|
|
|
245
259
|
# rubocop:enable Naming/AccessorMethodName
|
|
246
260
|
|
|
247
261
|
# Setter for package file
|
|
248
|
-
def package_file=(
|
|
249
|
-
@package_file = File.join(k_builder.target_folder,
|
|
262
|
+
def package_file=(value)
|
|
263
|
+
@package_file = File.join(k_builder.target_folder, value)
|
|
250
264
|
end
|
|
251
265
|
|
|
252
266
|
# Remove package-lock.json
|
|
@@ -331,6 +345,18 @@ module KDirector
|
|
|
331
345
|
group
|
|
332
346
|
end
|
|
333
347
|
|
|
348
|
+
def set_key_value(key, value, group: nil)
|
|
349
|
+
key = key.to_s.strip
|
|
350
|
+
|
|
351
|
+
if group.nil?
|
|
352
|
+
@package[key] = value
|
|
353
|
+
else
|
|
354
|
+
group = group.to_s.strip
|
|
355
|
+
@package[group] = {} unless @package[group]
|
|
356
|
+
@package[group][key] = value
|
|
357
|
+
end
|
|
358
|
+
end
|
|
359
|
+
|
|
334
360
|
def run_command(command)
|
|
335
361
|
parent.k_builder.run_command(command)
|
|
336
362
|
end
|
|
@@ -36,12 +36,18 @@ module KDirector
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
# Setup the default package groups
|
|
39
|
+
# rubocop:disable Metrics/MethodLength
|
|
39
40
|
def set_default_package_groups
|
|
40
41
|
set_package_group('webpack' , 'Webpack V5' , %w[webpack webpack-cli webpack-dev-server])
|
|
41
42
|
set_package_group('swc' , 'SWC Transpiler' , %w[@swc/cli @swc/core swc-loader])
|
|
42
43
|
set_package_group('babel' , 'Babel Transpiler' , %w[@babel/core @babel/cli @babel/preset-env babel-loader])
|
|
43
44
|
set_package_group('typescript' , 'Typescript' , %w[typescript ts-loader])
|
|
44
|
-
set_package_group('semver-ruby' , 'Semantic Release for Ruby' , %w[
|
|
45
|
+
set_package_group('semver-ruby' , 'Semantic Release for Ruby' , %w[
|
|
46
|
+
semantic-release
|
|
47
|
+
@semantic-release/changelog
|
|
48
|
+
@semantic-release/git
|
|
49
|
+
@klueless-js/semantic-release-rubygem@github:klueless-js/semantic-release-rubygem
|
|
50
|
+
])
|
|
45
51
|
|
|
46
52
|
set_package_group('semver-nuxt' , 'Semantic Release for Nuxt' , %w[
|
|
47
53
|
semantic-release
|
|
@@ -55,7 +61,6 @@ module KDirector
|
|
|
55
61
|
autoprefixer@latest
|
|
56
62
|
])
|
|
57
63
|
|
|
58
|
-
# this does not work yet
|
|
59
64
|
set_package_group('storybook-nuxt' , 'Storybook for (Vite/Nuxt)' , %w[
|
|
60
65
|
@storybook/vue3@6.4.18
|
|
61
66
|
@storybook/addon-postcss@2.0.0
|
|
@@ -63,10 +68,11 @@ module KDirector
|
|
|
63
68
|
storybook-builder-vite
|
|
64
69
|
])
|
|
65
70
|
|
|
66
|
-
# Currently these two need to be
|
|
71
|
+
# Currently these two need to be forced
|
|
67
72
|
# @storybook/addon-docs@6.4.18
|
|
68
73
|
# @storybook/addon-essentials@6.4.18
|
|
69
74
|
end
|
|
75
|
+
# rubocop:enable Metrics/MethodLength
|
|
70
76
|
|
|
71
77
|
def debug
|
|
72
78
|
log.structure(package_groups, convert_data_to: :open_struct)
|
|
@@ -8,27 +8,6 @@ module KDirector
|
|
|
8
8
|
'nuxt3'
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
def github(**opts, &block)
|
|
12
|
-
github = KDirector::Dsls::Children::Github.new(self, **opts)
|
|
13
|
-
github.instance_eval(&block) if block_given?
|
|
14
|
-
|
|
15
|
-
self
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def package_json(**opts, &block)
|
|
19
|
-
package_json = KDirector::Dsls::Children::PackageJson.new(self, **opts)
|
|
20
|
-
package_json.instance_eval(&block) if block_given?
|
|
21
|
-
|
|
22
|
-
self
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def blueprint(**opts, &block)
|
|
26
|
-
blueprint = KDirector::Dsls::Children::Blueprint.new(self, **opts)
|
|
27
|
-
blueprint.instance_eval(&block) if block_given?
|
|
28
|
-
|
|
29
|
-
self
|
|
30
|
-
end
|
|
31
|
-
|
|
32
11
|
# def app(**opts, &block)
|
|
33
12
|
# app = Dsl::Nuxt3App.new(self, **opts)
|
|
34
13
|
# app.instance_eval(&block)
|
|
@@ -8,26 +8,26 @@ module KDirector
|
|
|
8
8
|
'ruby/gem'
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
def github(**opts, &block)
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
# def github(**opts, &block)
|
|
12
|
+
# github = KDirector::Dsls::Children::Github.new(self, **opts)
|
|
13
|
+
# github.instance_eval(&block) if github.active? && block_given?
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
end
|
|
15
|
+
# self
|
|
16
|
+
# end
|
|
17
17
|
|
|
18
|
-
def package_json(**opts, &block)
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
# def package_json(**opts, &block)
|
|
19
|
+
# package_json = KDirector::Dsls::Children::PackageJson.new(self, **opts)
|
|
20
|
+
# package_json.instance_eval(&block) if package_json.active? && block_given?
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
end
|
|
22
|
+
# self
|
|
23
|
+
# end
|
|
24
24
|
|
|
25
|
-
def blueprint(**opts, &block)
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
# def blueprint(**opts, &block)
|
|
26
|
+
# blueprint = KDirector::Dsls::Children::Blueprint.new(self, **opts)
|
|
27
|
+
# blueprint.instance_eval(&block) if blueprint.active? && block_given?
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
end
|
|
29
|
+
# self
|
|
30
|
+
# end
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
end
|
data/lib/k_director/version.rb
CHANGED
data/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "k_director",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "k_director",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.11.1",
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
|
12
12
|
"@semantic-release/changelog": "^6.0.1",
|
data/package.json
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: k_director
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.11.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cruwys
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-02-
|
|
11
|
+
date: 2022-02-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: k_config
|