k_director 0.9.0 → 0.10.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.vscode/settings.json +5 -0
- data/docs/CHANGELOG.md +35 -0
- data/lib/k_director/dsls/children/package_json.rb +105 -17
- data/lib/k_director/dsls/children/package_json_configuration.rb +28 -5
- data/lib/k_director/dsls/nuxt3_dsl.rb +9 -2
- data/lib/k_director/dsls/ruby_gem_dsl.rb +7 -0
- data/lib/k_director/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb7ed7623517d20d588f3fd176ee05dd8d28161d5164b099eaef39152475735d
|
4
|
+
data.tar.gz: 54b3ce3d61554f6d6f85b82167b9f1fcb82de4ccaacd7ec970ca68ae8cf07ccf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d25fbb9ad8b1dcd71b6fb7a56a31d5a54022071f28559d0e31bb1d53b3274e6287342f87cca3ea2f0e7dd812f436db2eb4458454266e83ea5f9c4202d9d2ad34
|
7
|
+
data.tar.gz: 486576cb37d37f4e973df1a4baf0a1430188d29a525fddc64b79528ed16f2bb830aa04de81fe65e94a3a258c5d8d75d1d901a7d1f272859f84430ad9cb48a1c8
|
data/docs/CHANGELOG.md
CHANGED
@@ -1,3 +1,38 @@
|
|
1
|
+
## [0.10.2](https://github.com/klueless-io/k_director/compare/v0.10.1...v0.10.2) (2022-02-06)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* package_json, remove_package_lcok, remove_yarn_locak, create_yarn_lock ([d69c6a5](https://github.com/klueless-io/k_director/commit/d69c6a53a80551cdf5ac73024de8d2e597c37614))
|
7
|
+
* package_json, remove_package_lcok, remove_yarn_locak, create_yarn_lock ([fdeef48](https://github.com/klueless-io/k_director/commit/fdeef481763160ca0c8d306491d7eb2e29536641))
|
8
|
+
|
9
|
+
## [0.10.1](https://github.com/klueless-io/k_director/compare/v0.10.0...v0.10.1) (2022-02-06)
|
10
|
+
|
11
|
+
|
12
|
+
### Bug Fixes
|
13
|
+
|
14
|
+
* package_json, add set by group, remove and re ove by group ([93317f8](https://github.com/klueless-io/k_director/commit/93317f8b590ac2551e72072e93ca9b7f0d54f568))
|
15
|
+
|
16
|
+
# [0.10.0](https://github.com/klueless-io/k_director/compare/v0.9.0...v0.10.0) (2022-02-06)
|
17
|
+
|
18
|
+
|
19
|
+
### Bug Fixes
|
20
|
+
|
21
|
+
* package_json set key converted to string and stripped ([784b33d](https://github.com/klueless-io/k_director/commit/784b33db2a045e8273e4e5a30747f0b05cc50cfd))
|
22
|
+
|
23
|
+
|
24
|
+
### Features
|
25
|
+
|
26
|
+
* add package_json dsl support to nuxt3 and rubygem ([9b4650d](https://github.com/klueless-io/k_director/commit/9b4650d48deaeb158ef25300b12f9de5725bf2c0))
|
27
|
+
* add sort package json keys to package_json dsl ([90e2041](https://github.com/klueless-io/k_director/commit/90e2041759714faa1333c51226102e7ab8041a0a))
|
28
|
+
|
29
|
+
# [0.9.0](https://github.com/klueless-io/k_director/compare/v0.8.1...v0.9.0) (2022-02-05)
|
30
|
+
|
31
|
+
|
32
|
+
### Features
|
33
|
+
|
34
|
+
* add package_json dsl support ([15b3ad7](https://github.com/klueless-io/k_director/commit/15b3ad7472a3374e646c391a7271fb7782636afe))
|
35
|
+
|
1
36
|
## [0.8.1](https://github.com/klueless-io/k_director/compare/v0.8.0...v0.8.1) (2022-02-05)
|
2
37
|
|
3
38
|
|
@@ -99,7 +99,7 @@ module KDirector
|
|
99
99
|
def load
|
100
100
|
raise KDirector::Error, 'package.json does not exist' unless File.exist?(package_file)
|
101
101
|
|
102
|
-
puts 'loading...'
|
102
|
+
# puts 'loading...'
|
103
103
|
|
104
104
|
content = File.read(package_file)
|
105
105
|
@package = JSON.parse(content)
|
@@ -109,7 +109,7 @@ module KDirector
|
|
109
109
|
|
110
110
|
# Write the package.json file
|
111
111
|
def write
|
112
|
-
puts 'writing...'
|
112
|
+
# puts 'writing...'
|
113
113
|
|
114
114
|
content = JSON.pretty_generate(@package)
|
115
115
|
|
@@ -120,22 +120,19 @@ module KDirector
|
|
120
120
|
|
121
121
|
# Remove a script reference by key
|
122
122
|
def remove_script(key)
|
123
|
-
|
123
|
+
remove(key, group: 'scripts')
|
124
|
+
# load
|
124
125
|
|
125
|
-
@package['scripts']&.delete(key)
|
126
|
+
# @package['scripts']&.delete(key)
|
126
127
|
|
127
|
-
write
|
128
|
+
# write
|
128
129
|
|
129
130
|
self
|
130
131
|
end
|
131
132
|
|
132
133
|
# Add a script with key and value (command line to run)
|
133
134
|
def add_script(key, value)
|
134
|
-
|
135
|
-
|
136
|
-
@package['scripts'][key] = value
|
137
|
-
|
138
|
-
write
|
135
|
+
set(key, value, group: 'scripts')
|
139
136
|
|
140
137
|
self
|
141
138
|
end
|
@@ -162,20 +159,73 @@ module KDirector
|
|
162
159
|
@package
|
163
160
|
end
|
164
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
|
+
|
165
184
|
# Package.set
|
166
185
|
# ----------------------------------------------------------------------
|
167
186
|
|
168
187
|
# Set a property value in the package
|
169
|
-
def set(key, value)
|
188
|
+
def set(key, value, group: nil)
|
170
189
|
load
|
171
190
|
|
172
|
-
|
191
|
+
set_key_value(key, value, group: group)
|
173
192
|
|
174
193
|
write
|
175
194
|
|
176
195
|
self
|
177
196
|
end
|
178
197
|
|
198
|
+
def remove(key, group: nil)
|
199
|
+
load
|
200
|
+
|
201
|
+
key = key.to_s.strip
|
202
|
+
|
203
|
+
if group.nil?
|
204
|
+
@package.delete(key)
|
205
|
+
else
|
206
|
+
group = group.to_s.strip
|
207
|
+
@package[group]&.delete(key)
|
208
|
+
end
|
209
|
+
|
210
|
+
@package['scripts']&.delete(key)
|
211
|
+
|
212
|
+
write
|
213
|
+
|
214
|
+
self
|
215
|
+
end
|
216
|
+
|
217
|
+
# Package.sort using `npx sort-package-json`
|
218
|
+
# ----------------------------------------------------------------------
|
219
|
+
|
220
|
+
# Sort the package.json keys using `npx sort-package-json`
|
221
|
+
def sort
|
222
|
+
run_command 'npx sort-package-json'
|
223
|
+
|
224
|
+
load
|
225
|
+
|
226
|
+
self
|
227
|
+
end
|
228
|
+
|
179
229
|
# Dependency option
|
180
230
|
# ----------------------------------------------------------------------
|
181
231
|
|
@@ -213,10 +263,36 @@ module KDirector
|
|
213
263
|
@package_file = File.join(k_builder.target_folder, 'package.json')
|
214
264
|
end
|
215
265
|
|
216
|
-
#
|
217
|
-
#
|
218
|
-
|
219
|
-
|
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
|
220
296
|
|
221
297
|
# -----------------------------------
|
222
298
|
# Helpers
|
@@ -259,7 +335,7 @@ module KDirector
|
|
259
335
|
# run_command "code #{package_file}"
|
260
336
|
# end
|
261
337
|
|
262
|
-
|
338
|
+
private
|
263
339
|
|
264
340
|
def get_group(key)
|
265
341
|
group = configuration.package_json.package_groups[key]
|
@@ -269,6 +345,18 @@ module KDirector
|
|
269
345
|
group
|
270
346
|
end
|
271
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
|
+
|
272
360
|
def run_command(command)
|
273
361
|
parent.k_builder.run_command(command)
|
274
362
|
end
|
@@ -37,11 +37,34 @@ module KDirector
|
|
37
37
|
|
38
38
|
# Setup the default package groups
|
39
39
|
def set_default_package_groups
|
40
|
-
set_package_group('webpack' , 'Webpack V5', %w[webpack webpack-cli webpack-dev-server])
|
41
|
-
set_package_group('swc' , 'SWC Transpiler', %w[@swc/cli @swc/core swc-loader])
|
42
|
-
set_package_group('babel' , 'Babel Transpiler', %w[@babel/core @babel/cli @babel/preset-env babel-loader])
|
43
|
-
set_package_group('typescript' , 'Typescript', %w[typescript ts-loader])
|
44
|
-
set_package_group('
|
40
|
+
set_package_group('webpack' , 'Webpack V5' , %w[webpack webpack-cli webpack-dev-server])
|
41
|
+
set_package_group('swc' , 'SWC Transpiler' , %w[@swc/cli @swc/core swc-loader])
|
42
|
+
set_package_group('babel' , 'Babel Transpiler' , %w[@babel/core @babel/cli @babel/preset-env babel-loader])
|
43
|
+
set_package_group('typescript' , 'Typescript' , %w[typescript ts-loader])
|
44
|
+
set_package_group('semver-ruby' , 'Semantic Release for Ruby' , %w[semantic-release github:klueless-js/semantic-release-rubygem @semantic-release/changelog @semantic-release/git])
|
45
|
+
|
46
|
+
set_package_group('semver-nuxt' , 'Semantic Release for Nuxt' , %w[
|
47
|
+
semantic-release
|
48
|
+
@semantic-release/changelog
|
49
|
+
@semantic-release/git
|
50
|
+
])
|
51
|
+
|
52
|
+
set_package_group('tailwind-nuxt' , 'TailwindCSS for Nuxt' , %w[
|
53
|
+
tailwindcss@latest
|
54
|
+
postcss@latest
|
55
|
+
autoprefixer@latest
|
56
|
+
])
|
57
|
+
|
58
|
+
set_package_group('storybook-nuxt' , 'Storybook for (Vite/Nuxt)' , %w[
|
59
|
+
@storybook/vue3@6.4.18
|
60
|
+
@storybook/addon-postcss@2.0.0
|
61
|
+
@storybook/addon-storysource@6.4.18
|
62
|
+
storybook-builder-vite
|
63
|
+
])
|
64
|
+
|
65
|
+
# Currently these two need to be forced
|
66
|
+
# @storybook/addon-docs@6.4.18
|
67
|
+
# @storybook/addon-essentials@6.4.18
|
45
68
|
end
|
46
69
|
|
47
70
|
def debug
|
@@ -10,14 +10,21 @@ module KDirector
|
|
10
10
|
|
11
11
|
def github(**opts, &block)
|
12
12
|
github = KDirector::Dsls::Children::Github.new(self, **opts)
|
13
|
-
github.instance_eval(&block)
|
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?
|
14
21
|
|
15
22
|
self
|
16
23
|
end
|
17
24
|
|
18
25
|
def blueprint(**opts, &block)
|
19
26
|
blueprint = KDirector::Dsls::Children::Blueprint.new(self, **opts)
|
20
|
-
blueprint.instance_eval(&block)
|
27
|
+
blueprint.instance_eval(&block) if block_given?
|
21
28
|
|
22
29
|
self
|
23
30
|
end
|
@@ -15,6 +15,13 @@ module KDirector
|
|
15
15
|
self
|
16
16
|
end
|
17
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
|
+
|
18
25
|
def blueprint(**opts, &block)
|
19
26
|
blueprint = KDirector::Dsls::Children::Blueprint.new(self, **opts)
|
20
27
|
blueprint.instance_eval(&block) if block_given?
|
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.10.3",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "k_director",
|
9
|
-
"version": "0.
|
9
|
+
"version": "0.10.3",
|
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.10.3
|
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-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: k_config
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- ".releaserc.json"
|
101
101
|
- ".rspec"
|
102
102
|
- ".rubocop.yml"
|
103
|
+
- ".vscode/settings.json"
|
103
104
|
- Gemfile
|
104
105
|
- Guardfile
|
105
106
|
- README.md
|