k_director 0.10.1 → 0.11.0
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 +30 -1
- data/lib/k_director/dsls/children/package_json.rb +67 -15
- data/lib/k_director/dsls/children/package_json_configuration.rb +12 -5
- 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: 0e855ea56fe8350c6d8f348caafec612a3faa998f6f39f0bfd631c0968b5476f
|
4
|
+
data.tar.gz: 3a8ef5a51b2f968d17e688953cf6868a5a387bbe7579a19896fd0c21d4c01b36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf168f42f0a1e1df0bc0e169b824601579c793623458b5d13fbd8b3cf933d2fbe8abacf4e52f76c3c4795585cb32b276a5bae3505fa74d2cc63cb3d839a27341
|
7
|
+
data.tar.gz: c3d3d4fd6fc847d62d23e32c15db3874badce4c8743d28c40111d725eb7a3e5f4d39fdb3442b42c213ae524c262d128ea9de4062e985a044ce4e8c85bba2bae5
|
data/docs/CHANGELOG.md
CHANGED
@@ -1,3 +1,32 @@
|
|
1
|
+
## [0.10.4](https://github.com/klueless-io/k_director/compare/v0.10.3...v0.10.4) (2022-02-07)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* add active option so that child directors can be suppressed or executed ([8a57617](https://github.com/klueless-io/k_director/commit/8a57617eea20dd9a020aec329bd994b3c444f087))
|
7
|
+
|
8
|
+
## [0.10.3](https://github.com/klueless-io/k_director/compare/v0.10.2...v0.10.3) (2022-02-06)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* package_json and multi-settings #settings(**opts, group: nil) ([7f23a08](https://github.com/klueless-io/k_director/commit/7f23a08751c3bca7ea99685f33a95eeed8786e1a))
|
14
|
+
|
15
|
+
## [0.10.2](https://github.com/klueless-io/k_director/compare/v0.10.1...v0.10.2) (2022-02-06)
|
16
|
+
|
17
|
+
|
18
|
+
### Bug Fixes
|
19
|
+
|
20
|
+
* package_json, remove_package_lcok, remove_yarn_locak, create_yarn_lock ([d69c6a5](https://github.com/klueless-io/k_director/commit/d69c6a53a80551cdf5ac73024de8d2e597c37614))
|
21
|
+
* package_json, remove_package_lcok, remove_yarn_locak, create_yarn_lock ([fdeef48](https://github.com/klueless-io/k_director/commit/fdeef481763160ca0c8d306491d7eb2e29536641))
|
22
|
+
|
23
|
+
## [0.10.1](https://github.com/klueless-io/k_director/compare/v0.10.0...v0.10.1) (2022-02-06)
|
24
|
+
|
25
|
+
|
26
|
+
### Bug Fixes
|
27
|
+
|
28
|
+
* package_json, add set by group, remove and re ove by group ([93317f8](https://github.com/klueless-io/k_director/commit/93317f8b590ac2551e72072e93ca9b7f0d54f568))
|
29
|
+
|
1
30
|
# [0.10.0](https://github.com/klueless-io/k_director/compare/v0.9.0...v0.10.0) (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
|
@@ -127,6 +133,29 @@ module KDirector
|
|
127
133
|
k_builder.play_actions(builder.actions)
|
128
134
|
end
|
129
135
|
|
136
|
+
# Common child directors
|
137
|
+
|
138
|
+
def github(**opts, &block)
|
139
|
+
github = KDirector::Dsls::Children::Github.new(self, **opts)
|
140
|
+
github.instance_eval(&block) if github.active? && block_given?
|
141
|
+
|
142
|
+
self
|
143
|
+
end
|
144
|
+
|
145
|
+
def package_json(**opts, &block)
|
146
|
+
package_json = KDirector::Dsls::Children::PackageJson.new(self, **opts)
|
147
|
+
package_json.instance_eval(&block) if package_json.active? && block_given?
|
148
|
+
|
149
|
+
self
|
150
|
+
end
|
151
|
+
|
152
|
+
def blueprint(**opts, &block)
|
153
|
+
blueprint = KDirector::Dsls::Children::Blueprint.new(self, **opts)
|
154
|
+
blueprint.instance_eval(&block) if blueprint.active? && block_given?
|
155
|
+
|
156
|
+
self
|
157
|
+
end
|
158
|
+
|
130
159
|
def debug
|
131
160
|
debug_options
|
132
161
|
debug_dom
|
@@ -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,14 +259,40 @@ 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
|
-
#
|
253
|
-
#
|
254
|
-
|
255
|
-
|
266
|
+
# Remove package-lock.json
|
267
|
+
# ----------------------------------------------------------------------
|
268
|
+
|
269
|
+
def remove_package_lock
|
270
|
+
file = File.join(k_builder.target_folder, 'package-lock.json')
|
271
|
+
|
272
|
+
File.delete(file) if File.exist?(file)
|
273
|
+
|
274
|
+
self
|
275
|
+
end
|
276
|
+
|
277
|
+
# Remove yarn.lock
|
278
|
+
# ----------------------------------------------------------------------
|
279
|
+
|
280
|
+
def remove_yarn_lock
|
281
|
+
file = File.join(k_builder.target_folder, 'yarn.lock')
|
282
|
+
|
283
|
+
File.delete(file) if File.exist?(file)
|
284
|
+
|
285
|
+
self
|
286
|
+
end
|
287
|
+
|
288
|
+
# Create yarn.lock
|
289
|
+
# ----------------------------------------------------------------------
|
290
|
+
|
291
|
+
def create_yarn_lock
|
292
|
+
run_command 'yarn install --check-files'
|
293
|
+
|
294
|
+
self
|
295
|
+
end
|
256
296
|
|
257
297
|
# -----------------------------------
|
258
298
|
# Helpers
|
@@ -305,6 +345,18 @@ module KDirector
|
|
305
345
|
group
|
306
346
|
end
|
307
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
|
+
|
308
360
|
def run_command(command)
|
309
361
|
parent.k_builder.run_command(command)
|
310
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,17 +61,18 @@ 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
|
-
@storybook/addon-docs@6.4.18
|
62
|
-
@storybook/addon-essentials@6.4.18
|
63
66
|
@storybook/addon-postcss@2.0.0
|
64
67
|
@storybook/addon-storysource@6.4.18
|
65
68
|
storybook-builder-vite
|
66
69
|
])
|
67
|
-
|
70
|
+
|
71
|
+
# Currently these two need to be forced
|
72
|
+
# @storybook/addon-docs@6.4.18
|
73
|
+
# @storybook/addon-essentials@6.4.18
|
68
74
|
end
|
75
|
+
# rubocop:enable Metrics/MethodLength
|
69
76
|
|
70
77
|
def debug
|
71
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.0",
|
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.0",
|
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.0
|
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
|