squared 0.1.3 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +75 -1
- data/README.md +3 -0
- data/README.ruby.md +120 -40
- data/lib/squared/app.rb +0 -2
- data/lib/squared/common/base.rb +20 -14
- data/lib/squared/common/class.rb +18 -1
- data/lib/squared/common/format.rb +9 -9
- data/lib/squared/common/shell.rb +17 -8
- data/lib/squared/common/system.rb +56 -20
- data/lib/squared/common/utils.rb +5 -5
- data/lib/squared/config.rb +130 -82
- data/lib/squared/version.rb +1 -1
- data/lib/squared/workspace/application.rb +168 -51
- data/lib/squared/workspace/project/base.rb +341 -130
- data/lib/squared/workspace/project/git.rb +705 -270
- data/lib/squared/workspace/project/node.rb +174 -100
- data/lib/squared/workspace/project/python.rb +176 -61
- data/lib/squared/workspace/project/ruby.rb +337 -171
- data/lib/squared/workspace/repo.rb +35 -46
- data/lib/squared/workspace/series.rb +16 -14
- metadata +2 -2
@@ -8,7 +8,7 @@ module Squared
|
|
8
8
|
def populate(*); end
|
9
9
|
|
10
10
|
def tasks
|
11
|
-
|
11
|
+
[:outdated].freeze
|
12
12
|
end
|
13
13
|
|
14
14
|
def batchargs
|
@@ -35,11 +35,12 @@ module Squared
|
|
35
35
|
end
|
36
36
|
|
37
37
|
@@tasks[ref] = {
|
38
|
-
install
|
39
|
-
outdated
|
40
|
-
bump
|
41
|
-
|
42
|
-
|
38
|
+
'install' => %i[force frozen dedupe].freeze,
|
39
|
+
'outdated' => %i[major minor patch].freeze,
|
40
|
+
'bump' => %i[version major minor patch].freeze,
|
41
|
+
'add' => nil,
|
42
|
+
'update' => nil,
|
43
|
+
'run' => nil
|
43
44
|
}.freeze
|
44
45
|
|
45
46
|
def initialize(*, **kwargs)
|
@@ -59,25 +60,45 @@ module Squared
|
|
59
60
|
Node.ref
|
60
61
|
end
|
61
62
|
|
62
|
-
def populate(
|
63
|
+
def populate(*, **)
|
63
64
|
super
|
64
65
|
return unless outdated? && ref?(Node.ref)
|
65
66
|
|
66
67
|
namespace name do
|
67
68
|
@@tasks[Node.ref].each do |action, flags|
|
69
|
+
next if @pass.include?(action)
|
70
|
+
|
68
71
|
if flags.nil?
|
69
72
|
case action
|
70
|
-
when
|
71
|
-
|
73
|
+
when 'add'
|
74
|
+
format_desc action, nil, 'save?=prod|dev|optional|peer,name+'
|
75
|
+
task action, [:save, :name] do |_, args|
|
76
|
+
save = param_guard(action, 'save', args: args, key: :save)
|
77
|
+
if save.start_with?('=')
|
78
|
+
exact = true
|
79
|
+
save = save[1..-1]
|
80
|
+
end
|
81
|
+
case save
|
82
|
+
when 'prod', 'dev', 'optional', 'peer'
|
83
|
+
name = param_guard(action, 'name', args: args.to_a.drop(1))
|
84
|
+
else
|
85
|
+
save = 'prod'
|
86
|
+
name = param_guard(action, 'name', args: args.to_a)
|
87
|
+
end
|
88
|
+
depend(:add, packages: name, save: save, exact: exact)
|
89
|
+
end
|
90
|
+
when 'run'
|
91
|
+
next if (list = read_scripts).empty?
|
92
|
+
|
93
|
+
format_desc action, nil, 'command+|^index|#,pattern*'
|
72
94
|
task action, [:command] do |_, args|
|
73
95
|
if args.command == '#'
|
74
|
-
format_list(
|
96
|
+
format_list(list, 'run[^N]', 'scripts', grep: args.extras, from: dependfile.to_s)
|
75
97
|
else
|
76
|
-
cmd =
|
98
|
+
cmd = param_guard(action, 'command', args: args.to_a)
|
77
99
|
cmd.each do |val|
|
78
100
|
if (data = indexitem(val))
|
79
101
|
n, opts = data
|
80
|
-
list = read_scripts
|
81
102
|
if (item = list[n - 1])
|
82
103
|
val = opts ? "#{item.first} #{opts}" : item.first
|
83
104
|
elsif exception
|
@@ -90,9 +111,9 @@ module Squared
|
|
90
111
|
end
|
91
112
|
end
|
92
113
|
end
|
93
|
-
when
|
94
|
-
|
95
|
-
task action
|
114
|
+
when 'update'
|
115
|
+
format_desc action, nil, 'packages*'
|
116
|
+
task action do |_, args|
|
96
117
|
update args.to_a
|
97
118
|
end
|
98
119
|
end
|
@@ -100,20 +121,28 @@ module Squared
|
|
100
121
|
namespace action do
|
101
122
|
flags.each do |flag|
|
102
123
|
case action
|
103
|
-
when
|
104
|
-
|
124
|
+
when 'install'
|
125
|
+
format_desc action, flag
|
105
126
|
task flag do
|
106
127
|
depend flag
|
107
128
|
end
|
108
|
-
when
|
109
|
-
|
110
|
-
task flag
|
129
|
+
when 'outdated'
|
130
|
+
format_desc(action, flag, %w[prune interactive dry-run].freeze, arg: 'opts?')
|
131
|
+
task flag do |_, args|
|
111
132
|
outdated(flag, opts: args.to_a)
|
112
133
|
end
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
134
|
+
when 'bump'
|
135
|
+
if flag == :version
|
136
|
+
format_desc action, flag, 'version'
|
137
|
+
task flag, [:version] do |_, args|
|
138
|
+
version = param_guard(action, flag, args: args, key: :version)
|
139
|
+
bump flag, version
|
140
|
+
end
|
141
|
+
else
|
142
|
+
format_desc action, flag
|
143
|
+
task flag do
|
144
|
+
bump flag
|
145
|
+
end
|
117
146
|
end
|
118
147
|
end
|
119
148
|
end
|
@@ -124,7 +153,7 @@ module Squared
|
|
124
153
|
end
|
125
154
|
|
126
155
|
def copy(from: 'build', into: 'node_modules', workspace: false, include: nil, exclude: nil, scope: nil,
|
127
|
-
also: nil, create: nil, override: false)
|
156
|
+
also: nil, create: nil, link: false, force: false, override: false)
|
128
157
|
return if @copy == false
|
129
158
|
|
130
159
|
if @copy && !override
|
@@ -133,6 +162,8 @@ module Squared
|
|
133
162
|
from = @copy[:from] if @copy.key?(:from)
|
134
163
|
into = @copy[:into] if @copy.key?(:into)
|
135
164
|
workspace = @copy[:workspace] if @copy.key?(:workspace)
|
165
|
+
link = @copy[:link] if @copy.key?(:link)
|
166
|
+
force = @copy[:force] if @copy.key?(:link)
|
136
167
|
glob = @copy[:include]
|
137
168
|
exclude = @copy[:exclude]
|
138
169
|
scope = @copy[:scope]
|
@@ -144,7 +175,8 @@ module Squared
|
|
144
175
|
items += as_a(also) if also
|
145
176
|
return if items.empty?
|
146
177
|
|
147
|
-
|
178
|
+
on :first, :copy
|
179
|
+
print_item unless @output[0] || !verbose || task_invoked?(/^copy(?::#{Node.ref}|$)/)
|
148
180
|
items.each do |dir|
|
149
181
|
case dir
|
150
182
|
when Pathname
|
@@ -160,6 +192,8 @@ module Squared
|
|
160
192
|
from = dir[:from] if dir.key?(:from)
|
161
193
|
into = dir[:into] if dir.key?(:into)
|
162
194
|
scope = dir[:scope] if dir.key?(:scope)
|
195
|
+
link = dir[:link] if dir.key?(:link)
|
196
|
+
force = dir[:force] if dir.key?(:force)
|
163
197
|
dest = dir[:target]
|
164
198
|
create = dir[:create]
|
165
199
|
workspace = dir[:workspace]
|
@@ -183,10 +217,11 @@ module Squared
|
|
183
217
|
elsif (file = path.join('package.json')).exist?
|
184
218
|
begin
|
185
219
|
doc = JSON.parse(file.read)
|
186
|
-
doc['name']
|
187
220
|
rescue StandardError => e
|
188
221
|
log.error e
|
189
222
|
raise if exception
|
223
|
+
else
|
224
|
+
doc['name']
|
190
225
|
end
|
191
226
|
end
|
192
227
|
if sub
|
@@ -200,18 +235,29 @@ module Squared
|
|
200
235
|
end
|
201
236
|
target.each do |src, to|
|
202
237
|
glob.each { |val| log.info "cp #{from.join(val)} #{to}" }
|
203
|
-
|
238
|
+
begin
|
239
|
+
copy_dir(src, to, glob, create: create, link: link, force: force, pass: exclude, verbose: verbose)
|
240
|
+
rescue StandardError => e
|
241
|
+
log.error e
|
242
|
+
ret = on(:error, :copy, e)
|
243
|
+
raise if exception && ret != true
|
244
|
+
end
|
204
245
|
end
|
205
246
|
end
|
247
|
+
on :last, :copy
|
206
248
|
end
|
207
249
|
|
208
|
-
def depend(flag = nil, sync: invoked_sync?('depend', flag))
|
250
|
+
def depend(flag = nil, sync: invoked_sync?('depend', flag), packages: [], save: nil, exact: nil)
|
209
251
|
if @depend && !flag
|
210
252
|
super
|
211
253
|
elsif outdated?
|
212
254
|
if (yarn = dependtype(:yarn)) > 0
|
213
255
|
cmd = session 'yarn'
|
214
|
-
if
|
256
|
+
if flag == :add
|
257
|
+
cmd << 'add'
|
258
|
+
cmd << "--#{save}" unless save == 'prod'
|
259
|
+
cmd << '--exact' if exact
|
260
|
+
elsif yarn > 1
|
215
261
|
if flag == :dedupe
|
216
262
|
cmd << 'dedupe'
|
217
263
|
else
|
@@ -232,7 +278,12 @@ module Squared
|
|
232
278
|
end
|
233
279
|
elsif pnpm?
|
234
280
|
cmd = session 'pnpm'
|
235
|
-
|
281
|
+
case flag
|
282
|
+
when :add
|
283
|
+
cmd << 'add'
|
284
|
+
cmd << "--save-#{save}"
|
285
|
+
cmd << '--save-exact' if exact
|
286
|
+
when :dedupe
|
236
287
|
cmd << 'dedupe'
|
237
288
|
else
|
238
289
|
cmd << 'install' << if flag == :force
|
@@ -246,10 +297,15 @@ module Squared
|
|
246
297
|
split_escape(val).each { |opt| cmd << shell_option('public-hoist-pattern', opt, quote: true) }
|
247
298
|
end
|
248
299
|
cmd << '--ignore-workspace' if env('NODE_WORKSPACES', equals: '0')
|
249
|
-
append_nocolor
|
300
|
+
append_nocolor
|
250
301
|
else
|
251
302
|
cmd = session 'npm'
|
252
|
-
|
303
|
+
case flag
|
304
|
+
when :add
|
305
|
+
cmd << 'install'
|
306
|
+
cmd << "--save-#{save}"
|
307
|
+
cmd << '--save-exact' if exact
|
308
|
+
when :dedupe
|
253
309
|
cmd << 'dedupe'
|
254
310
|
else
|
255
311
|
cmd << 'install' << if flag == :force
|
@@ -258,34 +314,41 @@ module Squared
|
|
258
314
|
'--package-lock-only'
|
259
315
|
end
|
260
316
|
end
|
261
|
-
|
317
|
+
if flag == :add
|
318
|
+
cmd.merge(packages.map { |pkg| shell_escape(pkg) })
|
319
|
+
elsif flag && prod?
|
320
|
+
cmd << '--omit=dev'
|
321
|
+
end
|
262
322
|
cmd << '--workspaces=false' if env('NODE_WORKSPACES', equals: '0')
|
263
323
|
cmd << '--package-lock=false' if option('package-lock', equals: '0')
|
264
|
-
append_nocolor
|
324
|
+
append_nocolor
|
265
325
|
end
|
266
326
|
append_loglevel
|
267
|
-
run(sync: sync)
|
327
|
+
run(from: :depend, sync: sync)
|
268
328
|
end
|
269
329
|
end
|
270
330
|
|
271
|
-
def outdated(
|
331
|
+
def outdated(flag = nil, sync: invoked_sync?('outdated', flag), opts: [])
|
272
332
|
dryrun = opts.include?('dry-run')
|
273
|
-
if pnpm? && read_packagemanager(version: '7.15')
|
274
|
-
cmd = 'pnpm outdated'
|
333
|
+
if pnpm? && read_packagemanager(version: '7.15', update: true)
|
334
|
+
cmd = session 'pnpm', 'outdated'
|
275
335
|
dryrun ||= dryrun?('pnpm')
|
276
336
|
else
|
277
|
-
cmd = 'npm outdated'
|
337
|
+
cmd = session 'npm', 'outdated'
|
278
338
|
dryrun ||= dryrun?('npm')
|
279
339
|
end
|
280
|
-
log.info cmd
|
281
|
-
|
340
|
+
log.info cmd.to_s
|
341
|
+
on :first, :outdated unless dryrun
|
342
|
+
banner = format_banner(cmd.temp(dryrun ? ' --dry-run' : nil))
|
282
343
|
print_item banner if sync
|
283
344
|
begin
|
284
|
-
data = pwd_set { `#{cmd
|
285
|
-
|
345
|
+
data = pwd_set { `#{cmd.temp('--json', '--loglevel=error')}` }
|
346
|
+
doc = dependfile.read
|
347
|
+
json = JSON.parse(doc)
|
286
348
|
rescue StandardError => e
|
287
349
|
log.error e
|
288
|
-
|
350
|
+
ret = on(:error, :outdated, e)
|
351
|
+
raise if exception && ret != true
|
289
352
|
|
290
353
|
warn log_message(Logger::WARN, e) if warning?
|
291
354
|
return
|
@@ -296,7 +359,7 @@ module Squared
|
|
296
359
|
end
|
297
360
|
found = []
|
298
361
|
avail = []
|
299
|
-
rev
|
362
|
+
rev = flag || (prod? ? :patch : :minor)
|
300
363
|
inter = opts.include?('interactive')
|
301
364
|
unless data.empty?
|
302
365
|
JSON.parse(data).each_pair do |key, val|
|
@@ -354,7 +417,7 @@ module Squared
|
|
354
417
|
ret = val.succ.to_s
|
355
418
|
ord.size > 9 ? ret.rjust(ord.size.to_s.size) : ret
|
356
419
|
end
|
357
|
-
footer = lambda do |val
|
420
|
+
footer = lambda do |val, size|
|
358
421
|
next unless verbose
|
359
422
|
|
360
423
|
msg, hint = if modified == -1
|
@@ -362,7 +425,8 @@ module Squared
|
|
362
425
|
else
|
363
426
|
['No packages were updated', 'possible']
|
364
427
|
end
|
365
|
-
|
428
|
+
possible = pending + val
|
429
|
+
puts print_footer(empty_status(msg, hint, possible == size ? 0 : possible))
|
366
430
|
end
|
367
431
|
print_item banner unless sync
|
368
432
|
if !found.empty?
|
@@ -386,6 +450,8 @@ module Squared
|
|
386
450
|
end
|
387
451
|
end
|
388
452
|
a = a.ljust(col1)
|
453
|
+
b = b.ljust(col2)
|
454
|
+
b = sub_style(b, styles: theme[:current]) if theme[:current]
|
389
455
|
c = if cur == -1
|
390
456
|
'SKIP'
|
391
457
|
elsif modified == cur
|
@@ -396,14 +462,14 @@ module Squared
|
|
396
462
|
else
|
397
463
|
sub_style(c, pat: SEM_VER, styles: color(:green), index: d)
|
398
464
|
end
|
399
|
-
puts "#{pad_ord.(i, found)}. #{a
|
465
|
+
puts "#{pad_ord.(i, found)}. #{a + b + c}"
|
400
466
|
end
|
401
467
|
pending = avail.reduce(pending) { |a, b| a + (b[3] ? 0 : 1) }
|
402
468
|
if dryrun || (modified == 0 && pending > 0)
|
403
|
-
footer.(modified)
|
469
|
+
footer.(modified, found.size)
|
404
470
|
elsif modified > 0
|
405
471
|
modified = -1
|
406
|
-
footer.()
|
472
|
+
footer.(0, found.size)
|
407
473
|
File.write(dependfile, doc)
|
408
474
|
commit(:add, ['package.json'], pass: true)
|
409
475
|
install if opts.include?('prune')
|
@@ -424,51 +490,58 @@ module Squared
|
|
424
490
|
end
|
425
491
|
puts "#{pad_ord.(i, avail)}. #{a + c + b} (#{d ? 'locked' : 'latest'})"
|
426
492
|
end
|
427
|
-
footer.()
|
493
|
+
footer.(0, avail.size)
|
428
494
|
else
|
429
495
|
puts 'No updates were found'
|
430
496
|
end
|
497
|
+
on :last, :outdated unless dryrun
|
431
498
|
end
|
432
499
|
|
433
|
-
def bump(flag = nil)
|
434
|
-
return unless (
|
500
|
+
def bump(flag, val = nil)
|
501
|
+
return unless (cur = version)
|
435
502
|
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
seg[
|
443
|
-
|
444
|
-
|
445
|
-
|
503
|
+
if flag == :version
|
504
|
+
return unless val
|
505
|
+
else
|
506
|
+
seg = semscan(cur, fill: false)
|
507
|
+
case flag
|
508
|
+
when :major
|
509
|
+
if seg[0] != '0' || seg[2].nil?
|
510
|
+
seg[0] = seg[0].succ
|
511
|
+
else
|
512
|
+
seg[2] = seg[2].succ
|
513
|
+
end
|
514
|
+
when :minor
|
515
|
+
if seg[0] == '0'
|
516
|
+
seg[4] &&= seg[4].succ
|
517
|
+
else
|
518
|
+
seg[2] = seg[2].succ
|
519
|
+
end
|
520
|
+
when :patch
|
446
521
|
seg[4] &&= seg[4].succ
|
447
|
-
else
|
448
|
-
seg[2] = seg[2].succ
|
449
522
|
end
|
450
|
-
|
451
|
-
seg[4] &&= seg[4].succ
|
523
|
+
return if (val = seg.join) == cur
|
452
524
|
end
|
453
|
-
return if (out = seg.join) == ver
|
454
525
|
|
455
526
|
begin
|
456
527
|
doc = dependfile.read
|
457
|
-
if doc.sub!(/"version"\s*:\s*"#{
|
528
|
+
if doc.sub!(/"version"\s*:\s*"#{cur}"/, "\"version\": \"#{val}\"")
|
458
529
|
unless dryrun?
|
459
530
|
dependfile.write(doc)
|
460
|
-
log.info "bump version #{
|
531
|
+
log.info "bump version #{cur} to #{val} (#{flag})"
|
532
|
+
on :first, :bump
|
461
533
|
end
|
462
534
|
if verbose
|
463
535
|
major = flag == :major
|
464
|
-
emphasize("version: #{
|
536
|
+
emphasize("version: #{val}", title: name, border: borderstyle, sub: [
|
465
537
|
headerstyle,
|
466
538
|
{ pat: /\A(version:)( )(\S+)(.*)\z/, styles: color(major ? :green : :yellow), index: 3 },
|
467
539
|
{ pat: /\A(version:)(.*)\z/, styles: theme[major ? :major : :active] }
|
468
540
|
])
|
469
541
|
elsif stdin?
|
470
|
-
puts
|
542
|
+
puts val
|
471
543
|
end
|
544
|
+
on :last, :bump unless dryrun?
|
472
545
|
else
|
473
546
|
raise_error('not found', hint: 'version')
|
474
547
|
end
|
@@ -490,19 +563,19 @@ module Squared
|
|
490
563
|
elsif pnpm?
|
491
564
|
cmd = session 'pnpm', 'update'
|
492
565
|
cmd << '--prod' if prod?
|
493
|
-
append_nocolor
|
566
|
+
append_nocolor
|
494
567
|
else
|
495
568
|
cmd = session 'npm', 'update'
|
496
569
|
cmd << '--omit=dev' if prod?
|
497
|
-
append_nocolor
|
570
|
+
append_nocolor
|
498
571
|
end
|
499
572
|
append_loglevel
|
500
573
|
append_value pkgs
|
501
574
|
run
|
502
575
|
end
|
503
576
|
|
504
|
-
def compose(opts, flags = nil, script: false)
|
505
|
-
return unless opts && script
|
577
|
+
def compose(opts, flags = nil, script: false, from: :build)
|
578
|
+
return unless opts && script && from == :build
|
506
579
|
|
507
580
|
ret = session dependbin, 'run', flags
|
508
581
|
append_loglevel
|
@@ -512,7 +585,7 @@ module Squared
|
|
512
585
|
when String
|
513
586
|
ret << opts
|
514
587
|
else
|
515
|
-
raise_error("#{
|
588
|
+
raise_error("#{dependbin} script name", hint: opts.nil? ? 'missing' : 'invalid')
|
516
589
|
end
|
517
590
|
ret
|
518
591
|
end
|
@@ -536,13 +609,14 @@ module Squared
|
|
536
609
|
require 'yaml'
|
537
610
|
doc = YAML.load_file(rc)
|
538
611
|
doc.nodeLinker == 'node-modules' ? 2 : 3
|
539
|
-
rescue StandardError
|
612
|
+
rescue StandardError => e
|
613
|
+
log.debug e
|
540
614
|
3
|
541
615
|
end
|
542
616
|
else
|
543
617
|
1
|
544
618
|
end
|
545
|
-
elsif (ver = read_packagemanager || read_install)
|
619
|
+
elsif (ver = read_packagemanager || read_install)&.start_with?('yarn')
|
546
620
|
ver == 'yarn' || ver.include?('@1') ? 1 : 3
|
547
621
|
else
|
548
622
|
0
|
@@ -563,7 +637,8 @@ module Squared
|
|
563
637
|
else
|
564
638
|
4
|
565
639
|
end
|
566
|
-
rescue StandardError
|
640
|
+
rescue StandardError => e
|
641
|
+
log.debug e
|
567
642
|
4
|
568
643
|
end
|
569
644
|
else
|
@@ -575,8 +650,7 @@ module Squared
|
|
575
650
|
if pnpm?
|
576
651
|
basepath('pnpm-workspace.yaml').exist?
|
577
652
|
else
|
578
|
-
read_packagemanager
|
579
|
-
@pm[:workspaces].is_a?(Array)
|
653
|
+
read_packagemanager(:workspaces).is_a?(Array)
|
580
654
|
end
|
581
655
|
end
|
582
656
|
|
@@ -596,19 +670,17 @@ module Squared
|
|
596
670
|
end
|
597
671
|
|
598
672
|
def version
|
599
|
-
read_packagemanager
|
600
|
-
@pm[:version]
|
673
|
+
super || (@version = read_packagemanager(:version))
|
601
674
|
end
|
602
675
|
|
603
676
|
def packagename
|
604
|
-
read_packagemanager
|
605
|
-
@pm[:name]
|
677
|
+
read_packagemanager :name
|
606
678
|
end
|
607
679
|
|
608
680
|
private
|
609
681
|
|
610
|
-
def read_packagemanager(version: nil)
|
611
|
-
if @pm[:_].nil?
|
682
|
+
def read_packagemanager(key = nil, version: nil, update: false)
|
683
|
+
if @pm[:_].nil? || update
|
612
684
|
doc = JSON.parse(dependfile.read)
|
613
685
|
@pm[:_] = (val = doc['packageManager']) ? val[0..(val.index('+') || 0) - 1] : false
|
614
686
|
@pm[:name] = doc['name']
|
@@ -617,10 +689,12 @@ module Squared
|
|
617
689
|
@pm[:workspaces] = doc['workspaces']
|
618
690
|
end
|
619
691
|
rescue StandardError => e
|
620
|
-
log.debug e
|
692
|
+
log.debug e
|
621
693
|
@pm[:_] = false
|
622
694
|
nil
|
623
695
|
else
|
696
|
+
return @pm[key] if key
|
697
|
+
|
624
698
|
!(ret = @pm[:_]) || (version && ret[ret.index('@') + 1..-1] < version) ? nil : ret
|
625
699
|
end
|
626
700
|
|
@@ -632,11 +706,11 @@ module Squared
|
|
632
706
|
end
|
633
707
|
|
634
708
|
def read_scripts
|
635
|
-
read_packagemanager
|
636
|
-
|
709
|
+
ret = read_packagemanager(:scripts)
|
710
|
+
ret.is_a?(Hash) ? ret.to_a : []
|
637
711
|
end
|
638
712
|
|
639
|
-
def append_loglevel
|
713
|
+
def append_loglevel(target: @session)
|
640
714
|
level = env('NODE_LOGLEVEL')
|
641
715
|
silent = !verbose || level == 'silent'
|
642
716
|
return unless silent || level
|
@@ -644,26 +718,26 @@ module Squared
|
|
644
718
|
if yarn?
|
645
719
|
if dependtype(:yarn) == 1
|
646
720
|
if silent
|
647
|
-
|
721
|
+
target << '--silent'
|
648
722
|
elsif level == 'verbose'
|
649
|
-
|
723
|
+
target << '--verbose'
|
650
724
|
end
|
651
725
|
end
|
652
726
|
elsif pnpm?
|
653
727
|
if silent
|
654
|
-
|
728
|
+
target << '--reporter=silent'
|
655
729
|
level ||= 'error'
|
656
730
|
end
|
657
731
|
case level
|
658
732
|
when 'debug', 'info', 'warn', 'error'
|
659
|
-
|
733
|
+
target << basic_option('loglevel', level)
|
660
734
|
end
|
661
735
|
elsif silent
|
662
|
-
|
736
|
+
target << '--loglevel=silent'
|
663
737
|
else
|
664
738
|
case level
|
665
739
|
when 'error', 'warn', 'notice', 'http', 'info', 'verbose', 'silly'
|
666
|
-
|
740
|
+
target << basic_option('loglevel', level)
|
667
741
|
end
|
668
742
|
end
|
669
743
|
end
|
@@ -684,7 +758,7 @@ module Squared
|
|
684
758
|
end
|
685
759
|
|
686
760
|
def dryrun?(prefix = dependbin)
|
687
|
-
!option('dry-run', prefix: prefix).nil?
|
761
|
+
super || !option('dry-run', prefix: prefix).nil?
|
688
762
|
end
|
689
763
|
|
690
764
|
def dependbin
|