k_director 0.10.1 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|