squared 0.7.15 → 0.8.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/CHANGELOG.md +44 -214
- data/README.md +39 -36
- data/lib/squared/common/base.rb +0 -11
- data/lib/squared/common/format.rb +6 -15
- data/lib/squared/common/prompt.rb +30 -32
- data/lib/squared/common/shell.rb +11 -11
- data/lib/squared/common/system.rb +9 -19
- data/lib/squared/common/utils.rb +19 -23
- data/lib/squared/config.rb +5 -12
- data/lib/squared/version.rb +1 -1
- data/lib/squared/workspace/application.rb +99 -31
- data/lib/squared/workspace/project/base.rb +86 -106
- data/lib/squared/workspace/project/docker.rb +86 -118
- data/lib/squared/workspace/project/git.rb +190 -97
- data/lib/squared/workspace/project/node.rb +190 -196
- data/lib/squared/workspace/project/python.rb +73 -73
- data/lib/squared/workspace/project/ruby.rb +67 -68
- data/lib/squared/workspace/project/support/class.rb +2 -2
- data/lib/squared/workspace/project/support/optionpartition.rb +17 -42
- data/lib/squared/workspace/project/support/utils.rb +15 -22
- data/lib/squared/workspace/repo.rb +10 -7
- data/lib/squared/workspace/series.rb +12 -5
- 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: 2452b04f29a57fd7e41177ca45d0699c6cbfcbac259f6cd5d34c7b884e525fa3
|
|
4
|
+
data.tar.gz: 795dbe474a4ad6e72af653fcd0bf8c80929edaa1749c7a7f0343b60e851cd954
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: be07f3621680097432f4a5f56c825af6e47603c1fbdbaaf37a12c0fbec377fa231ad9d2551ee5a6d2fe1565115dc8e8398cca35cac7f858874a178f920683879
|
|
7
|
+
data.tar.gz: 1743bc51b54ceb5c21a1328bc83b8cb2c2e098378964e1f6bfc623984e551be215c73ef3b16b21e9258d257ba29d950b385364e874a8a6b5485bab24f3c1953c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,201 +1,46 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.
|
|
3
|
+
## [0.8.0] - 2026-06-16
|
|
4
4
|
|
|
5
5
|
### Added
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
7
|
+
- Application method join for group task invoke was created.
|
|
8
|
+
- Ruby command gem action push can use wildcard paths.
|
|
9
|
+
- Ruby command gem action build can use wildcard paths.
|
|
10
|
+
- Docker command container action attach was implemented.
|
|
11
|
+
- Application method join can be run in parallel.
|
|
12
|
+
- Project base method semver supports bumping prerelease.
|
|
13
|
+
- Node command bump supports incrementing a private workspace.
|
|
14
|
+
- Project base class implemented Enumerable each method.
|
|
15
|
+
- Ruby command gem action outdated can be pinned by semver.
|
|
16
|
+
- Node command publish action stage was implemented.
|
|
17
|
+
- Git command remote was implemented.
|
|
10
18
|
|
|
11
19
|
### Changed
|
|
12
20
|
|
|
13
|
-
- Node
|
|
21
|
+
- Node task outdated does not modify without a full semver range.
|
|
22
|
+
- OptionPartition static methods do not support unknown arguments.
|
|
23
|
+
- Readline/Reline is no longer loaded into global namespace.
|
|
24
|
+
- JRuby/TruffleRuby are no longer given any special treatment.
|
|
25
|
+
- Common shell lib does not include PATH when used as module function.
|
|
26
|
+
- Override methods using suffix "!" were renamed to "\_".
|
|
27
|
+
- Common method as_a checks for to_ary after to_a.
|
|
28
|
+
- Node command bump was condensed into one subtask.
|
|
29
|
+
- Git event name revbuild was separated into git:revbuild:[before|after].
|
|
30
|
+
- Git command stash action [branch|clear|list|all|staged|worktree] were grouped.
|
|
31
|
+
- Project methods with prefix parameter were converted into keyword.
|
|
32
|
+
- Project base method accept_b parameters were converted into keyword.
|
|
33
|
+
- Class methods with a ref parameter were converted into keyword.
|
|
14
34
|
|
|
15
|
-
###
|
|
16
|
-
|
|
17
|
-
- Bundle exec wrapper as a Hash did not support using alternate Gemfile.
|
|
18
|
-
- Common base ARG data objects were not frozen with __freeze__.
|
|
19
|
-
|
|
20
|
-
## [0.7.14] - 2026-10-22
|
|
21
|
-
|
|
22
|
-
### Changed
|
|
23
|
-
|
|
24
|
-
- Python program meson prefix options use local path resolution.
|
|
25
|
-
- Bundle exec wrapper can be configured per application.
|
|
26
|
-
|
|
27
|
-
### Fixed
|
|
28
|
-
|
|
29
|
-
- Bundle exec wrapper did not accept boolean values.
|
|
30
|
-
|
|
31
|
-
## [0.6.21] - 2026-10-22
|
|
32
|
-
|
|
33
|
-
### Fixed
|
|
34
|
-
|
|
35
|
-
- RuboCop did not resolve config to project directory.
|
|
36
|
-
- Python program did not use correct separator for double dash options.
|
|
37
|
-
|
|
38
|
-
## [0.7.13] - 2026-09-25
|
|
39
|
-
|
|
40
|
-
### Fixed
|
|
41
|
-
|
|
42
|
-
- OptionPartition did not parse quoted option values.
|
|
43
|
-
|
|
44
|
-
## [0.6.20]
|
|
45
|
-
|
|
46
|
-
### Added
|
|
47
|
-
|
|
48
|
-
- Prompt choice optional selection can be bypassed with a single dash.
|
|
49
|
-
|
|
50
|
-
### Fixed
|
|
51
|
-
|
|
52
|
-
- Git interactive commit selection did not accept additional values.
|
|
53
|
-
|
|
54
|
-
## [0.7.12] - 2026-09-23
|
|
55
|
-
|
|
56
|
-
### Fixed
|
|
57
|
-
|
|
58
|
-
- See `0.4.42`.
|
|
59
|
-
|
|
60
|
-
## [0.6.19]
|
|
61
|
-
|
|
62
|
-
### Fixed
|
|
63
|
-
|
|
64
|
-
- See `0.4.42`.
|
|
65
|
-
|
|
66
|
-
## [0.5.27]
|
|
67
|
-
|
|
68
|
-
### Fixed
|
|
69
|
-
|
|
70
|
-
- See `0.4.42`.
|
|
71
|
-
|
|
72
|
-
## [0.4.42]
|
|
73
|
-
|
|
74
|
-
### Fixed
|
|
75
|
-
|
|
76
|
-
- OptionPartition did not strip pre-existing quotes when parsing options.
|
|
77
|
-
- Node command outdated did not strip styling from semver in package.json.
|
|
78
|
-
- Git command show did not recognize object names.
|
|
79
|
-
- Docker destination mounts that are not absolute are treated as errors.
|
|
80
|
-
- Docker source mounts for any named volumes or images were inoperable.
|
|
81
|
-
|
|
82
|
-
## [0.7.11] - 2026-09-04
|
|
83
|
-
|
|
84
|
-
### Added
|
|
85
|
-
|
|
86
|
-
- Node command package action [approve|deny] is interactive.
|
|
87
|
-
|
|
88
|
-
### Fixed
|
|
89
|
-
|
|
90
|
-
- Docker container commands [run|exec] did not sanitize input prompt.
|
|
91
|
-
|
|
92
|
-
## [0.6.18]
|
|
93
|
-
|
|
94
|
-
### Added
|
|
95
|
-
|
|
96
|
-
- Docker command bake action buildx with first arg "-" inherits base args.
|
|
97
|
-
|
|
98
|
-
### Fixed
|
|
99
|
-
|
|
100
|
-
- Git action grep did not recognize format and max-count.
|
|
101
|
-
|
|
102
|
-
## [0.5.26]
|
|
103
|
-
|
|
104
|
-
### Fixed
|
|
105
|
-
|
|
106
|
-
- Node command nvm did not quote executable path.
|
|
107
|
-
|
|
108
|
-
## [0.4.41]
|
|
109
|
-
|
|
110
|
-
### Added
|
|
111
|
-
|
|
112
|
-
- Common base argument SUCCESS for command confirmation was created.
|
|
113
|
-
|
|
114
|
-
### Changed
|
|
115
|
-
|
|
116
|
-
- Program options prefer using quotes instead of escape.
|
|
117
|
-
- Docker container run arguments with a leading dash are concatenated.
|
|
118
|
-
|
|
119
|
-
### Fixed
|
|
120
|
-
|
|
121
|
-
- Common prompt method choice did not grep list items.
|
|
122
|
-
- OptionPartition static method strip did not parse flags with dashes.
|
|
123
|
-
- Project base method choice_index did not support multiple selections.
|
|
124
|
-
|
|
125
|
-
## [0.7.10] - 2026-08-06
|
|
126
|
-
|
|
127
|
-
### Fixed
|
|
128
|
-
|
|
129
|
-
- See `0.6.17`.
|
|
130
|
-
|
|
131
|
-
## [0.6.17]
|
|
132
|
-
|
|
133
|
-
### Added
|
|
134
|
-
|
|
135
|
-
- NPM command install can bypass engines with ENV and engine-strict=false.
|
|
136
|
-
|
|
137
|
-
### Fixed
|
|
138
|
-
|
|
139
|
-
- Ruby command gem action push interactive file selector did nothing.
|
|
140
|
-
- Git choice prompt did not permit optional empty values.
|
|
141
|
-
|
|
142
|
-
## [0.4.40]
|
|
143
|
-
|
|
144
|
-
### Changed
|
|
145
|
-
|
|
146
|
-
- Series method exclude? was made compatible with v0.8 signature.
|
|
147
|
-
|
|
148
|
-
## [0.7.9] - 2026-07-04
|
|
149
|
-
|
|
150
|
-
### Added
|
|
151
|
-
|
|
152
|
-
- Docker command image action inspect was implemented.
|
|
153
|
-
|
|
154
|
-
### Changed
|
|
155
|
-
|
|
156
|
-
- Project global ENV for BANNER and STRICT can accept boolean values.
|
|
157
|
-
|
|
158
|
-
## [0.6.16]
|
|
159
|
-
|
|
160
|
-
### Added
|
|
161
|
-
|
|
162
|
-
- Git command pull action all supports filter pattern negation.
|
|
163
|
-
|
|
164
|
-
## [0.5.25]
|
|
165
|
-
|
|
166
|
-
### Fixed
|
|
167
|
-
|
|
168
|
-
- See `0.4.39`.
|
|
169
|
-
|
|
170
|
-
## [0.4.39]
|
|
171
|
-
|
|
172
|
-
### Changed
|
|
173
|
-
|
|
174
|
-
- Common global argument OUT with a file separator overrides PIPE.
|
|
175
|
-
|
|
176
|
-
### Fixed
|
|
177
|
-
|
|
178
|
-
- Git output list results did not hide footer when banner was disabled.
|
|
179
|
-
- Project banners which were empty were being printed.
|
|
180
|
-
|
|
181
|
-
## [0.7.8] - 2026-06-17
|
|
182
|
-
|
|
183
|
-
### Fixed
|
|
184
|
-
|
|
185
|
-
- See `0.6.15`.
|
|
186
|
-
|
|
187
|
-
## [0.6.15]
|
|
188
|
-
|
|
189
|
-
### Fixed
|
|
35
|
+
### Removed
|
|
190
36
|
|
|
191
|
-
-
|
|
37
|
+
- Common format method raise_error was removed.
|
|
192
38
|
|
|
193
39
|
## [0.7.7] - 2026-06-15
|
|
194
40
|
|
|
195
41
|
### Added
|
|
196
42
|
|
|
197
43
|
- Ruby program commands can be run through bundle exec.
|
|
198
|
-
- Node task depend can run approve-scripts with NPM_APPROVE_SCRIPTS.
|
|
199
44
|
- Node command package action [approve|deny] was implemented.
|
|
200
45
|
- NPM command options were updated to 11.16.
|
|
201
46
|
|
|
@@ -434,6 +279,7 @@
|
|
|
434
279
|
- Application class supports extensions used during build finalization.
|
|
435
280
|
- Docker command bake action compose to build with defaults was implemented.
|
|
436
281
|
- Program asdf legacy global installations using ASDF_DIR is supported.
|
|
282
|
+
- Docker command compose action publish was implemented.
|
|
437
283
|
|
|
438
284
|
### Changed
|
|
439
285
|
|
|
@@ -461,7 +307,6 @@
|
|
|
461
307
|
- Application project classes can only be injected using static methods.
|
|
462
308
|
- Tasks can only be excluded through Appliction build instance method.
|
|
463
309
|
- Project base utility methods were relocated to Support namespace.
|
|
464
|
-
- Ruby class private method run_rb was removed.
|
|
465
310
|
- Application attribute exception accept Logger levels to route errors.
|
|
466
311
|
- Ruby command irb always includes local development require paths.
|
|
467
312
|
- Bundler tasks are hidden when package is not installed.
|
|
@@ -469,7 +314,10 @@
|
|
|
469
314
|
- Application method with renamed pass to hide due to conflict with Project.
|
|
470
315
|
- Node task depend using Yarn no longer sets option ignore-engines by default.
|
|
471
316
|
- Project base private instance variable events was relocated.
|
|
472
|
-
|
|
317
|
+
|
|
318
|
+
### Removed
|
|
319
|
+
|
|
320
|
+
- Ruby class private method run_rb was removed.
|
|
473
321
|
|
|
474
322
|
### Fixed
|
|
475
323
|
|
|
@@ -844,7 +692,6 @@
|
|
|
844
692
|
|
|
845
693
|
- Git method source will raise error when checking exit status.
|
|
846
694
|
- Date gem is no longer globally required.
|
|
847
|
-
- Global task git:all was removed.
|
|
848
695
|
- Common base method as_a was relocated to Utils.
|
|
849
696
|
- Python command build and publish detects only one backend.
|
|
850
697
|
- Docker command compose action ps was renamed service.
|
|
@@ -852,14 +699,12 @@
|
|
|
852
699
|
- Project base method success? conditionally calls print_success method.
|
|
853
700
|
- Error classes were not specified for invalid operation.
|
|
854
701
|
- Common format methods stripstyle and stripext are String instance methods.
|
|
855
|
-
- Common format method alias puts_oe was removed.
|
|
856
702
|
- Git commands without a valid action will exit with error status.
|
|
857
703
|
- Errno exceptions are used in place of SystemCallError.
|
|
858
704
|
- Common format method raise_error defaults to RuntimeError.
|
|
859
705
|
- OptionPartition delegator method delete_at was renamed remove_at.
|
|
860
706
|
- Node event name "publish" was renamed to "npm:publish".
|
|
861
707
|
- Project task run with a Method passes self as first argument.
|
|
862
|
-
- Ruby command check was removed.
|
|
863
708
|
- Ruby method gem! was renamed gem.
|
|
864
709
|
- Ruby methods ruby and irb first argument was converted into kwargs.
|
|
865
710
|
- Ruby method rake executes all tasks in one run command.
|
|
@@ -875,12 +720,18 @@
|
|
|
875
720
|
- Project base method run_s uses last argument for ENV hash.
|
|
876
721
|
- Project base method inject does not exit program when raised.
|
|
877
722
|
- Reline gem is installed only when using at least Ruby 3.0.
|
|
878
|
-
- Python method install arguments strategy and user were removed.
|
|
879
723
|
- Project command outdated does not support threading when interactive.
|
|
880
724
|
- Project base accessor global was converted into a reader and setter.
|
|
881
725
|
- Repo build can simultaneously use script and run through REPO_BUILD.
|
|
882
726
|
- Repo static method read_manifest was made an instance method named repo_manifest.
|
|
883
727
|
|
|
728
|
+
### Removed
|
|
729
|
+
|
|
730
|
+
- Global task git:all was removed.
|
|
731
|
+
- Common format method alias puts_oe was removed.
|
|
732
|
+
- Ruby command check was removed.
|
|
733
|
+
- Python method install arguments strategy and user were removed.
|
|
734
|
+
|
|
884
735
|
### Fixed
|
|
885
736
|
|
|
886
737
|
- Node task update did not check equivalent ENV install options.
|
|
@@ -1477,6 +1328,10 @@
|
|
|
1477
1328
|
|
|
1478
1329
|
## [0.3.10]
|
|
1479
1330
|
|
|
1331
|
+
### Removed
|
|
1332
|
+
|
|
1333
|
+
- Git command files action ignored could not be used alone.
|
|
1334
|
+
|
|
1480
1335
|
### Fixed
|
|
1481
1336
|
|
|
1482
1337
|
- Git command reset action commit used invalid delimeter.
|
|
@@ -1484,10 +1339,6 @@
|
|
|
1484
1339
|
- Project script task did not fire first and last callbacks.
|
|
1485
1340
|
- Git checkout action commit did not include options.
|
|
1486
1341
|
|
|
1487
|
-
### Removed
|
|
1488
|
-
|
|
1489
|
-
- Git command files action ignored could not be used alone.
|
|
1490
|
-
|
|
1491
1342
|
## [0.2.10]
|
|
1492
1343
|
|
|
1493
1344
|
### Fixed
|
|
@@ -2069,14 +1920,7 @@
|
|
|
2069
1920
|
|
|
2070
1921
|
- Changelog was created.
|
|
2071
1922
|
|
|
2072
|
-
[0.
|
|
2073
|
-
[0.7.14]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.14
|
|
2074
|
-
[0.7.13]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.13
|
|
2075
|
-
[0.7.12]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.12
|
|
2076
|
-
[0.7.11]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.11
|
|
2077
|
-
[0.7.10]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.10
|
|
2078
|
-
[0.7.9]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.9
|
|
2079
|
-
[0.7.8]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.8
|
|
1923
|
+
[0.8.0]: https://github.com/anpham6/squared-ruby/releases/tag/v0.8.0
|
|
2080
1924
|
[0.7.7]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.7
|
|
2081
1925
|
[0.7.6]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.6
|
|
2082
1926
|
[0.7.5]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.5
|
|
@@ -2085,13 +1929,6 @@
|
|
|
2085
1929
|
[0.7.2]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.2
|
|
2086
1930
|
[0.7.1]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.1
|
|
2087
1931
|
[0.7.0]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.0
|
|
2088
|
-
[0.6.21]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.21
|
|
2089
|
-
[0.6.20]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.20
|
|
2090
|
-
[0.6.19]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.19
|
|
2091
|
-
[0.6.18]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.18
|
|
2092
|
-
[0.6.17]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.17
|
|
2093
|
-
[0.6.16]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.16
|
|
2094
|
-
[0.6.15]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.15
|
|
2095
1932
|
[0.6.14]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.14
|
|
2096
1933
|
[0.6.13]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.13
|
|
2097
1934
|
[0.6.12]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.12
|
|
@@ -2107,9 +1944,6 @@
|
|
|
2107
1944
|
[0.6.2]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.2
|
|
2108
1945
|
[0.6.1]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.1
|
|
2109
1946
|
[0.6.0]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.0
|
|
2110
|
-
[0.5.27]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.27
|
|
2111
|
-
[0.5.26]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.26
|
|
2112
|
-
[0.5.25]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.25
|
|
2113
1947
|
[0.5.24]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.24
|
|
2114
1948
|
[0.5.23]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.23
|
|
2115
1949
|
[0.5.22]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.22
|
|
@@ -2135,10 +1969,6 @@
|
|
|
2135
1969
|
[0.5.2]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.2-ruby
|
|
2136
1970
|
[0.5.1]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.1-ruby
|
|
2137
1971
|
[0.5.0]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.0-ruby
|
|
2138
|
-
[0.4.42]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.42
|
|
2139
|
-
[0.4.41]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.41
|
|
2140
|
-
[0.4.40]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.40
|
|
2141
|
-
[0.4.39]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.39
|
|
2142
1972
|
[0.4.38]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.38
|
|
2143
1973
|
[0.4.37]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.37
|
|
2144
1974
|
[0.4.36]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.36
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# squared 0.
|
|
1
|
+
# squared 0.8
|
|
2
2
|
|
|
3
3
|
* [source](https://github.com/anpham6/squared-ruby)
|
|
4
4
|
* [docs](https://squared.readthedocs.io)
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
| 2024-12-07 | 0.1.0 | 2.4.0 | 3.3.6 | |
|
|
11
11
|
| 2025-01-07 | 0.2.0 | | 3.4.0 | |
|
|
12
12
|
| 2025-02-07 | 0.3.0 | | 3.4.1 | |
|
|
13
|
-
| 2025-03-06 | 0.4.0 | | 3.4.2 |
|
|
13
|
+
| 2025-03-06 | 0.4.0 | | 3.4.2 | * |
|
|
14
14
|
| 2025-06-16 | 0.5.0 | 2.5.0 | 3.4.4 | |
|
|
15
15
|
| ---------- | ----- | ----- | ----- | --- |
|
|
16
16
|
| 2025-08-23 | 0.5.5 | | 3.4.5 | |
|
|
17
|
-
| 2025-10-31 | 0.6.0 | | 3.4.7 |
|
|
17
|
+
| 2025-10-31 | 0.6.0 | | 3.4.7 | * |
|
|
18
18
|
| 2026-01-07 | 0.7.0 | 2.5.0 | 4.0.0 | * |
|
|
19
|
+
| 2026-06-16 | 0.8.0 | | 4.0.5 | * |
|
|
19
20
|
|
|
20
21
|
The range chart indicates the *latest* Ruby tested against at the time of release.
|
|
21
22
|
|
|
@@ -47,7 +48,6 @@ require "squared/app" # All workspace related modules
|
|
|
47
48
|
# log = /workspaces/logger
|
|
48
49
|
# emc = /workspaces/e-mc
|
|
49
50
|
# pir = /workspaces/pi-r
|
|
50
|
-
# pir2 = /workspaces/pi-r2
|
|
51
51
|
# squared = /workspaces/squared
|
|
52
52
|
# cli = /workspaces/squared/publish/sqd-cli
|
|
53
53
|
# sqd-serve = /workspaces/squared/publish/sqd-serve
|
|
@@ -74,7 +74,6 @@ Workspace::Application
|
|
|
74
74
|
end
|
|
75
75
|
.add("e-mc", "emc", copy: { from: "publish", scope: "@e-mc", also: [:pir, "squared-express/"] }, ref: :node) # Node
|
|
76
76
|
.add("pi-r", "pir", copy: { from: "publish", scope: "@pi-r" }, clean: ["publish/**/*.js", "tmp/"]) # Trailing slash required for directories
|
|
77
|
-
.add("pi-r2", "pir2", copy: { from: :npm, also: %i[squared express], files: ["LICENSE", ["README.md.ruby", "README.md"]] }) # Uses dist files from NPM package spec
|
|
78
77
|
.add("squared", init: "pnpm", script: ["build:stage1", "build:stage2"], group: "app") do # Use pnpm/yarn/berry for depend + Copy target (main)
|
|
79
78
|
# Repo (global)
|
|
80
79
|
as(:run, "build:dev", "dev") # npm run build:dev -> npm run dev
|
|
@@ -179,6 +178,12 @@ Workspace::Application
|
|
|
179
178
|
pip("wheel", with: "build:dev") # pip wheel -r "/chrome-docs/requirements.txt" --no-deps
|
|
180
179
|
}
|
|
181
180
|
end
|
|
181
|
+
|
|
182
|
+
join("venv", invoke: "venv:remove", args: ["create"]) # rake venv:python => rake android:venv:remove[create] => chrome:venv:remove[create]
|
|
183
|
+
join("venv", "venv:remove", "create", sync: false) # PYTHON_ARGS=depend,dry-run rake venv:python => rake android:venv:remove[depend,dry-run] | chrome:venv:remove[depend,dry-run]
|
|
184
|
+
join("pwd") do # rake pwd:python => "/workspaces/android-docs" => "/workspaces/chrome-docs"
|
|
185
|
+
puts self.path
|
|
186
|
+
end
|
|
182
187
|
end
|
|
183
188
|
.style("inline", "bold")
|
|
184
189
|
.stage("init:project") { puts self.path } # modify attributes before building tasks (init | begin | project:begin/end | populate | extensions | series | finalize | end)
|
|
@@ -284,9 +289,6 @@ Workspace::Application
|
|
|
284
289
|
add("pi-r", "pir") do
|
|
285
290
|
chain "all", "build", after: "emc:build" # step: 3
|
|
286
291
|
end
|
|
287
|
-
add("pi-r2", "pir2") do
|
|
288
|
-
chain "all", "build", before: "squared" # step: 3
|
|
289
|
-
end
|
|
290
292
|
add("squared-express", "express") do
|
|
291
293
|
chain "all", "clean", with: "emc" # step: 1
|
|
292
294
|
chain "all", "build", with: "pir" # step: 3
|
|
@@ -547,6 +549,7 @@ Most project classes will inherit from `Git` which enables these tasks:
|
|
|
547
549
|
| pull | pull | origin remote all |
|
|
548
550
|
| range-diff | range-diff | view between contain |
|
|
549
551
|
| rebase | rebase | branch onto send |
|
|
552
|
+
| remote | remote | add select |
|
|
550
553
|
| refs | ls-remote --refs | heads tags remote |
|
|
551
554
|
| reset | reset | commit index patch mode undo |
|
|
552
555
|
| restore | restore | source staged worktree |
|
|
@@ -868,44 +871,44 @@ Features can be enabled through ENV when calling global tasks such as through *C
|
|
|
868
871
|
|
|
869
872
|
* Prefix: BUNDLE/GEM/RBS
|
|
870
873
|
|
|
871
|
-
| Command | Flag | ENV
|
|
872
|
-
| :--------- | :-------- |
|
|
873
|
-
| depend | - | BINSTUBS=s JOBS=n
|
|
874
|
-
| depend | update | VERSION=major|minor|patch STRICT CONSERVATIVE
|
|
875
|
-
| outdated | - | U|UPDATE=major|minor|patch ONLY_EXPLICIT DRY_RUN
|
|
876
|
-
| gem | outdated | DOCUMENT=0,1 USER_INSTALL=0,1
|
|
877
|
-
| rbs | prototype | Y=0,1
|
|
874
|
+
| Command | Flag | ENV |
|
|
875
|
+
| :--------- | :-------- | :---------------------------------------------------------- |
|
|
876
|
+
| depend | - | BINSTUBS=s JOBS=n |
|
|
877
|
+
| depend | update | VERSION=major|minor|patch STRICT CONSERVATIVE |
|
|
878
|
+
| outdated | - | U|UPDATE=major|minor|patch ONLY_EXPLICIT DRY_RUN |
|
|
879
|
+
| gem | outdated | DOCUMENT=0,1 USER_INSTALL=0,1 |
|
|
880
|
+
| rbs | prototype | Y=0,1 |
|
|
878
881
|
|
|
879
882
|
#### Node
|
|
880
883
|
|
|
881
884
|
* Prefix: NPM/PNPM/YARN
|
|
882
885
|
|
|
883
|
-
| Command | Flag | ENV
|
|
884
|
-
| :------------- | :------------- |
|
|
885
|
-
| depend | - | FORCE CI IGNORE_SCRIPTS
|
|
886
|
-
| outdated | - | U|UPDATE=major|minor|patch DIFF DRY_RUN
|
|
887
|
-
| publish | - | OTP=s TAG=s ACCESS=0,1,s DRY_RUN Y
|
|
888
|
-
| depend package | * | PACAKGE_LOCK|LOCKFILE=0 NO_LOCKFILE=1 Y
|
|
889
|
-
| npm | depend | APPROVE_SCRIPTS=
|
|
890
|
-
| npm | package | SAVE IGNORE_SCRIPTS STRICT_PEER_DEPS
|
|
891
|
-
| pnpm | depend | PUBLIC_HOIST_PATTERN=s APPROVE_BUILDS
|
|
892
|
-
| pnpm | depend:add | ALLOW_BUILD=s
|
|
893
|
-
| yarn | depend package | IGNORE_ENGINES
|
|
894
|
-
| yarn | depend:add | W|IGNORE_WORKSPACE_ROOT_CHECK=0
|
|
895
|
-
| npm pnpm | depend package | CPU=s OS=s LIBC=s
|
|
886
|
+
| Command | Flag | ENV |
|
|
887
|
+
| :------------- | :------------- | :------------------------------------------------- |
|
|
888
|
+
| depend | - | FORCE CI IGNORE_SCRIPTS |
|
|
889
|
+
| outdated | - | U|UPDATE=major|minor|patch SAVE_EXACT DIFF DRY_RUN |
|
|
890
|
+
| publish | - | OTP=s TAG=s ACCESS=0,1,s DRY_RUN Y |
|
|
891
|
+
| depend package | * | PACAKGE_LOCK|LOCKFILE=0 NO_LOCKFILE=1 Y |
|
|
892
|
+
| npm | depend | APPROVE_SCRIPTS=s |
|
|
893
|
+
| npm | package | SAVE IGNORE_SCRIPTS STRICT_PEER_DEPS |
|
|
894
|
+
| pnpm | depend | PUBLIC_HOIST_PATTERN=s APPROVE_BUILDS |
|
|
895
|
+
| pnpm | depend:add | ALLOW_BUILD=s |
|
|
896
|
+
| yarn | depend package | IGNORE_ENGINES |
|
|
897
|
+
| yarn | depend:add | W|IGNORE_WORKSPACE_ROOT_CHECK=0 |
|
|
898
|
+
| npm pnpm | depend package | CPU=s OS=s LIBC=s |
|
|
896
899
|
|
|
897
900
|
#### Python
|
|
898
901
|
|
|
899
902
|
* Prefix: PIP/POETRY
|
|
900
903
|
|
|
901
|
-
| Command | Flag | ENV
|
|
902
|
-
| :--------- | :-------- |
|
|
903
|
-
| global | * | CACHE_DIR=0,s PROXY=s PYTHON=s COLOR=0
|
|
904
|
-
| depend | - | E|EDITABLE=0,s BUILD_ISOLATION=0
|
|
905
|
-
| outdated | - | U|UPDATE=major|minor|patch NOT_REQUIRED=0 L|LOCAL DRY_RUN
|
|
906
|
-
| venv | exec | INTERACTIVE=0
|
|
907
|
-
| poetry | * | PROJECT=s
|
|
908
|
-
| poetry | depend | NO_ROOT
|
|
904
|
+
| Command | Flag | ENV |
|
|
905
|
+
| :--------- | :-------- | :---------------------------------------------------------- |
|
|
906
|
+
| global | * | CACHE_DIR=0,s PROXY=s PYTHON=s COLOR=0 |
|
|
907
|
+
| depend | - | E|EDITABLE=0,s BUILD_ISOLATION=0 |
|
|
908
|
+
| outdated | - | U|UPDATE=major|minor|patch NOT_REQUIRED=0 L|LOCAL DRY_RUN |
|
|
909
|
+
| venv | exec | INTERACTIVE=0 |
|
|
910
|
+
| poetry | * | PROJECT=s |
|
|
911
|
+
| poetry | depend | NO_ROOT |
|
|
909
912
|
|
|
910
913
|
## LICENSE
|
|
911
914
|
|
data/lib/squared/common/base.rb
CHANGED
|
@@ -13,14 +13,11 @@ module Squared
|
|
|
13
13
|
STRICT: false,
|
|
14
14
|
BANNER: true,
|
|
15
15
|
CHOICE: 25,
|
|
16
|
-
TAB: 4,
|
|
17
16
|
QUOTE: "'",
|
|
18
17
|
SPACE: ' => ',
|
|
19
|
-
SUCCESS: 'Success',
|
|
20
18
|
GRAPH: %w[| - | \\ -].freeze,
|
|
21
19
|
BORDER: %w[| - - - - - | | - -].freeze,
|
|
22
20
|
VIEW: 'view',
|
|
23
|
-
BACKTRACE: $DEBUG || !$VERBOSE.nil?,
|
|
24
21
|
LEVEL: ENV.fetch('LOG_LEVEL', 0).to_i,
|
|
25
22
|
COLOR: ENV.fetch('NO_COLOR', '').empty?
|
|
26
23
|
}
|
|
@@ -94,16 +91,8 @@ module Squared
|
|
|
94
91
|
VAR[key.is_a?(::String) ? key.to_sym : key] = val
|
|
95
92
|
end
|
|
96
93
|
|
|
97
|
-
def __arg__(key, name = nil, &blk)
|
|
98
|
-
ret = ARG[key.to_sym]
|
|
99
|
-
return ret unless name && ret.is_a?(::Hash)
|
|
100
|
-
|
|
101
|
-
ret[name = name.downcase] || (block_given? ? ret.fetch(name.to_sym, &blk) : ret[name.to_sym])
|
|
102
|
-
end
|
|
103
|
-
|
|
104
94
|
def __freeze__
|
|
105
95
|
PATH.freeze
|
|
106
|
-
ARG.each_value { |val| val.freeze if val.is_a?(::Hash) || val.is_a?(::Array) }
|
|
107
96
|
ARG.freeze
|
|
108
97
|
VAR.each_value(&:freeze)
|
|
109
98
|
VAR[:theme].each_value { |val| val.freeze.each_value(&:freeze) }
|
|
@@ -41,7 +41,7 @@ module Squared
|
|
|
41
41
|
|
|
42
42
|
String.define_method(:stripstyle) { gsub(/\x1B\[(?:\d+;?)+m/, '') }
|
|
43
43
|
String.define_method(:stripext) { File.basename(self, '.*') }
|
|
44
|
-
String.define_method(:subhint) { |s| s.nil? || (s.
|
|
44
|
+
String.define_method(:subhint) { |s| s.nil? || (s.respond_to?(:empty?) && s.empty?) ? self : "#{self} (#{s})" }
|
|
45
45
|
|
|
46
46
|
def enable_aixterm
|
|
47
47
|
unless (colors = __get__(:colors)).frozen?
|
|
@@ -62,9 +62,9 @@ module Squared
|
|
|
62
62
|
return val unless ARG[:COLOR]
|
|
63
63
|
|
|
64
64
|
ret = if pat && index != 0
|
|
65
|
-
return val unless (
|
|
65
|
+
return val unless (md = pat.match(val))
|
|
66
66
|
|
|
67
|
-
index == -1 ?
|
|
67
|
+
index == -1 ? md.to_a.drop(1) : md[index]
|
|
68
68
|
else
|
|
69
69
|
index = 0
|
|
70
70
|
val
|
|
@@ -110,10 +110,10 @@ module Squared
|
|
|
110
110
|
return ret.join if index == -1
|
|
111
111
|
|
|
112
112
|
ret = wrap.call(ret, code) unless code.empty?
|
|
113
|
-
return ret unless
|
|
113
|
+
return ret unless md
|
|
114
114
|
|
|
115
115
|
out = +''
|
|
116
|
-
|
|
116
|
+
md.to_a.each_with_index do |group, i|
|
|
117
117
|
next if i == 0
|
|
118
118
|
|
|
119
119
|
if i == index
|
|
@@ -295,7 +295,7 @@ module Squared
|
|
|
295
295
|
if footer
|
|
296
296
|
unless sub.empty? && !right
|
|
297
297
|
footer.map! do |s|
|
|
298
|
-
s = s.rjust(n +
|
|
298
|
+
s = s.rjust(n + 4) if right
|
|
299
299
|
sub.each { |h| sub_style!(s, **h) }
|
|
300
300
|
s
|
|
301
301
|
end
|
|
@@ -319,15 +319,6 @@ module Squared
|
|
|
319
319
|
err ? warn(out) : puts(out)
|
|
320
320
|
end
|
|
321
321
|
end
|
|
322
|
-
|
|
323
|
-
def raise_error(*args, hint: nil, kind: RuntimeError, start: 0)
|
|
324
|
-
kind = args.shift if args.first.is_a?(::Class) && args.first < ::Exception
|
|
325
|
-
raise kind, message(*args, hint: hint, empty: true), if ARG[:BACKTRACE]
|
|
326
|
-
caller(start.succ)
|
|
327
|
-
else
|
|
328
|
-
caller_locations(start.succ, 1).first&.base_label
|
|
329
|
-
end
|
|
330
|
-
end
|
|
331
322
|
end
|
|
332
323
|
end
|
|
333
324
|
end
|