Commit Graph

958 Commits

Author SHA1 Message Date
Mike Farah
3018396ed2 wip: fixing key order 2025-07-22 10:50:52 +10:00
Mike Farah
84b095bbc4 Making examples of the merge fix flag clearer 2025-07-22 10:18:39 +10:00
Mike Farah
f35e57d901 Warn less about flag 2025-07-22 10:02:27 +10:00
Steven WdV
70ac3d6c7a
Add override behavior comments 2025-07-20 15:46:15 +02:00
Steven WdV
904215ef4d
Fix key overriding in regular maps for traversing 2025-07-20 15:37:45 +02:00
Steven WdV
41cc4fb4ac
Merge remote-tracking branch 'stevenwdv/merge-anchor-fix' into merge-anchor-fix
# Conflicts:
#	pkg/yqlib/doc/operators/anchor-and-alias-operators.md
#	pkg/yqlib/operator_anchors_aliases_test.go
2025-07-20 15:00:23 +02:00
Steven WdV
9c95a9f379
Unify reconstructAliasedMap & fixedReconstructAliasedMap 2025-07-20 14:59:17 +02:00
Steven WdV
a4720c089a
Merge remote-tracking branch 'origin/MakeExplodeGreatAgain' into merge-anchor-fix
# Conflicts:
#	pkg/yqlib/doc/operators/anchor-and-alias-operators.md
#	pkg/yqlib/operator_anchors_aliases.go
#	pkg/yqlib/operator_anchors_aliases_test.go
2025-07-20 14:37:36 +02:00
Steven WdV
3431aebb2c
Add tests for accessing !!str << 2025-07-20 13:28:14 +02:00
Steven WdV
ae87394f4a
Formatting 2025-07-20 13:24:48 +02:00
Mike Farah
23a7b173bf Fixing merge anchor key order 2025-07-19 15:27:44 +10:00
stevenwdv
5e75db824b
UK spelling 2025-07-17 11:43:28 +02:00
Steven WdV
08ecd39a1e
Add tests for invalid merge key handling for traverse 2025-07-16 18:07:16 +02:00
Steven WdV
b7aa711d94
Add note 2025-07-16 18:02:51 +02:00
Steven WdV
a5b8ef6cb1
Add some tests regarding override behavior.
The one in fixedTraversePathOperatorScenarios still fails
2025-07-16 17:56:56 +02:00
Steven WdV
a47e882c8f
Flag for fixed list merge key traverse override behavior,
and fix traversing map with merge key that would override local key (completes #2110 fix)
2025-07-16 16:00:16 +02:00
Steven WdV
128bf80eed
Merge branch 'master' into merge-anchor-fix 2025-07-16 14:25:23 +02:00
Mike Farah
55daf6d93c Fixed panic for syntax error when creating a map #2423 2025-07-16 15:35:12 +10:00
Mike Farah
8e731ac13c Added "debug-node-info" flag for inspecting yq AST 2025-07-15 21:35:54 +10:00
ryenus
d0c897f5e6 skip format check for filenames ending with dot
also add a unit test for func FormatStringFromFilename to cover such case
2025-07-15 19:30:07 +10:00
Mike Farah
6e8cc00030 Added flag to fix #2110 2025-07-14 16:26:26 +10:00
Mike Farah
b9d9e2fbad Moar tests 2025-07-11 22:00:20 +10:00
Steven WdV
8c06478ade
Remove now-unused badAliasSample 2025-07-10 15:03:44 +02:00
Steven WdV
fa6dc5c9fb
Move new merge test comments to description field 2025-07-10 15:03:41 +02:00
cloudclaim
544bd9ff6f chore: fix some minor issues in the comments
Signed-off-by: cloudclaim <824973921@qq.com>
2025-07-10 13:33:36 +10:00
Mike Farah
221a5b1106 Adding tinygo to project words 2025-07-10 13:06:42 +10:00
Mike Farah
c10bfe0602 Switching to YAML org supported go-yaml 2025-07-10 13:04:54 +10:00
Zue
7696723d5c Add more build tags to reduce binary size 2025-07-01 15:52:40 +08:00
Zue
a9f7cc1ebb Add TinyGo build example 2025-07-01 13:28:10 +08:00
Zue
25365a0f0b Fix compilation errors when building build-small-yq 2025-07-01 13:26:26 +08:00
stevenwdv
78c096fa8f
Remove redundant logic 2025-06-17 15:56:13 +02:00
Steven WdV
ce9a4af0df
Fix inline map exploding when it contains aliases 2025-06-16 16:09:55 +02:00
Steven WdV
4734be9a4d
Fix excessive exploding for merge anchor 2025-06-16 13:53:28 +02:00
Steven WdV
4d88d51b1b
Fix precedence of merge anchor sequence for traverse (explode was already correct) 2025-06-16 13:36:42 +02:00
Steven WdV
31628e7324
Make merge anchor errors for traversing nonfatal 2025-06-16 13:33:42 +02:00
Steven WdV
bfcb3fc6b7
Fix merge anchor exploding
- Allow inline maps instead of just aliases
- Allow aliased sequences
- Disallow other types
- Use tag `!!merge` instead of key `<<`
- Fix insertion index for sequence merge

Closes #2386
2025-06-16 09:58:26 +02:00
Steven WdV
c3782799c5
Merge anchor traversing: add test for aliased sequence, cleanup 2025-06-16 09:56:10 +02:00
Steven WdV
162ea5437c
Fix merge anchor traversing
- Allow inline maps instead of just aliases
- Disallow nested sequences
- Disallow other types

Closes #2386
2025-06-13 19:08:36 +02:00
Mike Farah
176873e93a Refining add op 2025-06-12 15:41:27 +10:00
Mike Farah
88bfbec97b Fix add op when there are not matches piped in, #2383, #2384 2025-06-12 14:48:10 +10:00
Antoine Deschênes
b15ce77cad fix: correct key order after add, flatten, keys, sort, reverse and shuffle
Signed-off-by: Antoine Deschênes <antoine.deschenes@linux.com>
2025-06-07 21:04:26 +10:00
Mike Farah
b84fd47934 More goccy progress 2025-06-07 15:23:38 +10:00
o.bilko
c58d9e7da4 fix tests 2025-05-17 18:55:53 +10:00
beliys
3ac203ebb8 Add INI support 2025-05-17 18:55:53 +10:00
Mike Farah
22949df0fd Fixing running map against empty array bug #2359 2025-05-10 07:24:48 +10:00
Mike Farah
20407a07a5 Adding more tests to prevent regression again :sweat 2025-05-09 15:40:29 +10:00
Mike Farah
2c2487c0bd Fixing Regression in #2353, #2359, #2325 2025-05-09 15:29:44 +10:00
Mike Farah
2c7cce0878 Line and Column working with Goccy, Fixed Anchor Map problem 2025-05-04 19:29:42 +10:00
Mike Farah
2bd08ea4e8 Dont panic on tests 2025-05-04 10:33:09 +10:00
Mike Farah
72fa3cca98 goccy decoder supports merge maps 2025-05-03 20:20:50 +10:00
Mike Farah
f89605e3c0 goccy yaml decoder supports anchor/aliases 2025-05-03 20:01:16 +10:00
Mike Farah
20b5129120 Updating golanglint 2025-05-03 16:34:21 +10:00
Mike Farah
d01ac7801d Regen doc 2025-05-03 11:37:52 +10:00
n4zukker
4155c99a12 Typo in cats example
The quotation mark and closing parenthesis were swapped.

Before:
```
$ echo "Hello kitty" | yq eval 'test("(?i)cats)"'
Error: bad expression - probably missing close bracket on TEST
```

After:
```
$ echo "Hello kitty" | yq eval 'test("(?i)cats")'
false
```
2025-05-03 11:27:51 +10:00
Oleksandr Redko
ce2ce51236 Remove mistakenly committed cover.out 2025-03-25 15:45:27 +11:00
Mike Farah
337960a6d1 Fixing add when there is no node match #2325 2025-03-25 15:35:16 +11:00
damuzhi0810
1395d6e230 refactor: using slices.Contains to simplify the code
Signed-off-by: damuzhi0810 <rust@before.tech>
2025-03-25 15:10:25 +11:00
Mike Farah
ba1b9737b6 Added recursive update map keys example 2025-03-03 15:10:42 +11:00
Mike Farah
f202d06d82 sort_by works on maps 2025-01-22 14:36:50 +11:00
Stephen Uridge
1508f1fd5f Update docs and tests for --properties-separator flag 2025-01-22 09:53:51 +11:00
Mike Farah
0f390b27aa Bumping goccy 2025-01-12 14:13:31 +11:00
Rudolf Thomas
f73c862cc5 feat: Create parent directories if --split-exp is used.
Problem: When --split-exp is used and produces filenames with slashes in
them, the target directories must already exist otherwise yq fails.

Fix/feature: Create the necessary directories with os.MkdirAll().
The permissions 0750 were chosen to satisfy the vulnerability checker.
2024-12-14 19:52:09 +11:00
Mike Farah
342efb23ff Fixed panic on multipling string by very large number #2211 2024-12-07 16:53:40 +11:00
Mike Farah
2201381235 Fixed multiply string by negative number panic #2211 2024-12-07 16:28:59 +11:00
Mike Farah
5273715428 Fixed panic error #2211 2024-12-07 16:20:45 +11:00
Jan Dubois
c16b1800a0 Make sure to update the key when deleting array elements 2024-12-07 11:09:52 +11:00
Mike Farah
1a4b2485ff
Merge branch 'master' into add-comment-style 2024-11-16 15:16:12 +11:00
Mike Farah
4af292f076 Fixed handling of nulls with sort_by expressions #2164 2024-11-16 12:27:18 +11:00
Marco Vito Moscaritolo
6908161f1f replace error creation 2024-11-16 11:48:53 +11:00
Marco Vito Moscaritolo
f168172bf4 remove unused variable parameters from functions 2024-11-16 11:48:53 +11:00
Marco Vito Moscaritolo
3ce266bfa0 fix parameter order in error type comparison 2024-11-16 11:48:53 +11:00
Gabe Cook
9caeb429ac
Format comments with a gray foreground 2024-11-10 03:30:03 -06:00
Mike Farah
f654fbf459 Fixed array subtraction update bug #2159 2024-09-29 15:21:11 +10:00
Mike Farah
5df71072f5 Fixed index out of range error 2024-09-29 15:06:34 +10:00
Mike Farah
3727b3e664 Fixed unecessary int64 to int conversion 2024-09-06 13:24:10 +10:00
Mike Farah
1846006082 Can traverse straight from parent operator (parent.blah) 2024-09-06 12:46:23 +10:00
Mike Farah
dff0122481 Regen kind docs 2024-09-06 12:33:27 +10:00
Mike Farah
42b92aff13 Added pick including all keys example 2024-09-06 12:32:36 +10:00
William Allen
6eb2ae757a Create kind.md header doc 2024-08-20 15:23:06 +10:00
ryenus
b9c3ff6f0a
convert file ext to lowercase for format detection (#2121)
* convert file ext to lowercase for format detection

To ensure proper file format detection with case-insensitive file
systems.

* use filepath.Ext for more reliable file ext detection

especially for paths like index.js/foo

* add a test for file ext based format detection
2024-08-05 15:14:43 +10:00
Mike Farah
28646c7b50 Skip and warn when interpolating strings and theres a unclosed bracket #2083 2024-06-29 15:20:07 +10:00
Mike Farah
0b7d4b799c Fixed CSV content starting with # issue #2076 2024-06-29 15:04:07 +10:00
Mike Farah
68aafb6a53 Handle numbers with underscores #2039 2024-06-16 11:09:52 +10:00
Mike Farah
d58870b056 Adding splat[] short hand to explode,collect,flatten,groupby,path,pivot,select and more 2024-06-16 10:48:01 +10:00
Mike Farah
f1964dece0 Adding splat[] short hand to collect,eval,map,omit,path,pick 2024-06-16 10:22:42 +10:00
Mike Farah
45eda8dbae Added support for shorthand splat[] for filter,reverse,sort,shuffle 2024-06-15 22:13:58 +10:00
Mike Farah
d9af2dd976 Support env[] expression #2071 2024-06-15 21:56:32 +10:00
Mike Farah
7bad2f4f06 Adding back in commented tests :facepalm 2024-06-15 21:49:23 +10:00
Mike Farah
3ea19ad2ed clean code 2024-06-15 17:06:17 +10:00
Mike Farah
42120e1341 Unique now works on maps and arrays #2068 2024-06-15 17:04:48 +10:00
Mike Farah
0c15cf35a7 Added properties convert to numbers example #2023 2024-05-12 12:07:04 +10:00
Matt Benson
b54d7eb21c
handle escaped backslashes (#1997) 2024-04-14 18:52:08 +10:00
Mike Farah
a4b9c3049b Removed unused debian directory #2000 2024-04-13 11:00:39 +10:00
Mike Farah
fe84f62288 Docs 2024-03-30 14:01:42 +11:00
Mike Farah
28c406706a Fixes npe when given filename ending with "." #1994 2024-03-30 14:00:57 +11:00
Matt Benson
101cf14b8c
min/max operators (#1992)
* min/max operators

* min, max operator headers
2024-03-30 13:34:36 +11:00
Matt Benson
3283c65dc4
pivot operator (#1993) 2024-03-30 13:29:35 +11:00
Mike Farah
2ee7508b76 typos 2024-03-24 11:32:02 +11:00
Mike Farah
021d5f05f9 Fixing omit docs 2024-03-24 10:59:29 +11:00
Matt Benson
f5bfe5a248
omit operator (#1989) 2024-03-23 17:15:45 +11:00
Matt Benson
3b85cef340
support string X int multiplication as jq (#1988) 2024-03-22 20:44:49 +11:00
Mike Farah
76a0da3937 Refactoring load op 2024-03-12 15:57:26 +11:00
Mike Farah
8a07e3da3d Can specify parent levels #1970 2024-03-12 10:49:26 +11:00
Mike Farah
9e9cb65ec0 Fixed CSV line break issue #1974 2024-03-12 10:22:35 +11:00
Mike Farah
b4463e29e8 Adding a EvaluateAll function to StringEvaluator #1966 2024-03-07 12:02:40 +11:00
Mike Farah
93ed666000 yqlib, default to colors off when using yaml library #1964 2024-03-07 10:55:44 +11:00
Mike Farah
b5e3a01452 Added comment to goccy decoder, its will WIP 2024-03-07 10:54:15 +11:00
Mike Farah
e092329bf3 String interpolation! #1149 2024-03-05 14:10:12 +11:00
Mike Farah
152b158411 Uncomment tests - oops 2024-03-05 11:23:07 +11:00
Mike Farah
72a78472af Added tostring #72 2024-03-05 10:40:55 +11:00
Mike Farah
706424a459 Improving column docs 2024-03-05 10:13:36 +11:00
Mike Farah
447bf28cd8 Introduced 'format' to encapsulate encoding and decoding formats together 2024-02-24 16:37:13 +11:00
Mike Farah
8f6d642012 Refactoring encoding configuration 2024-02-24 16:07:15 +11:00
Mike Farah
1d371b712f Refactoring encoding configuration 2024-02-24 15:59:12 +11:00
Mike Farah
55f6a3a49d Refactoring JSON encoder prefs 2024-02-24 15:48:59 +11:00
Mike Farah
7a01e216c4 Refactoring Yaml encoder prefs 2024-02-24 15:36:16 +11:00
Mike Farah
f44d47a204 Refactoring Props encoder prefs 2024-02-24 15:14:21 +11:00
Mike Farah
2866e90c49 Refactoring XML encoder prefs 2024-02-24 15:03:30 +11:00
Mike Farah
571caa696a Refactoring Output types 2024-02-24 14:58:11 +11:00
Mike Farah
abef92d7d9 Added prune recipe 2024-02-21 14:50:55 +11:00
Mike Farah
9f3822fbaa Improving property docs 2024-02-20 13:45:31 +11:00
Mike Farah
b24b484efc Added --properties-array-brackets flag for properties encoder #1933 2024-02-20 11:39:56 +11:00
Ryan Drew
2865022cf8
Add --properties-separator option (#1951)
This commit adds the --properties-separator option, which lets users
specify the separator used between keys and values in the properties
output format. This is done by adjusting the value of
github.com/magiconair/properties#Properties.WriteSeparator at encode
time.

Some refactoring of the properties encoder unit tests was done to make
it easier to write unit tests that include different separator values.

Fixes: #1864

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
2024-02-20 10:57:44 +11:00
Mike Farah
9a8151d316 Added csv separator flag #1950 2024-02-17 19:11:41 +11:00
Mike Farah
42439b7d00 Adding shebang documentation 2024-02-16 11:03:35 +11:00
Mike Farah
796b4a0955 Adding shebang documentation 2024-02-16 10:56:18 +11:00
Mike Farah
3c3f1180d9 Cleaning up log message formats 2024-02-16 09:44:22 +11:00
Mike Farah
d9e1a789ea Fixed Toml decoding when table array defined before parent #1922 2024-02-15 16:15:01 +11:00
Mike Farah
c32a9ceab8 Added new CSV option to turn off auto-parsing #1947 2024-02-15 13:11:53 +11:00
Mike Farah
e81b600744 Fixing with_entries context #1925
Can now update key/value w.r.t each other
2024-02-11 10:25:38 +11:00
Mike Farah
8cde0c837c Can now retrieve the alias names of merge anchors #1942 2024-02-09 17:24:59 +11:00
Mike Farah
b55f52f377 Improve merge docs 2024-02-09 14:54:22 +11:00
Mike Farah
1d06d8b482 Another comment example 2024-02-09 13:58:59 +11:00
Mike Farah
2dda0a203d Comments in yq expressions! #1919 2024-02-09 13:54:27 +11:00
Mike Farah
24bd563680 Updating style docs 2024-02-09 10:47:09 +11:00
Mike Farah
5513ac8a7d Empty TOML table is an empty object 2024-02-08 13:31:56 +11:00
Elijah Lopez
d4e16a413e
fix: empty TOML table (#1936) 2024-02-07 19:59:50 +11:00
Mike Farah
6e21c9f77f Need to escape single quotes in bash, updated docs #1932 2024-02-02 14:58:49 +11:00
Mike Farah
010750daf6 Updated to latest golint 2024-01-11 13:17:34 +11:00
Mike Farah
dea8f95670 Fixed "all" error message #1845 2023-12-13 11:02:22 +11:00
Mike Farah
eb4278784a Added another new recipe 2023-12-13 10:55:53 +11:00
Mike Farah
cbd03f8a93 Added new recipe 2023-12-13 10:41:56 +11:00
Mike Farah
4cf123fed5 Fixed to_entries[] 2023-12-12 15:44:34 +11:00
Mike Farah
7f26d91cd0 Fixed handling of --- #1890, #1896 2023-12-12 11:30:12 +11:00
Mike Farah
d474bb8ba4 Fixing sef fault on bad XML #1888 2023-12-05 13:21:12 +11:00
Mike Farah
a988cd9005 Updating JSON doc: NDJSON spec deprecated, prefer JSON Lines 2023-12-01 11:39:02 +11:00
Mike Farah
779b26310e Updating references to yq being a YAML processor 2023-11-30 15:32:21 +11:00
Mike Farah
730f240d24 Fixed to_entries and del bug #1886 2023-11-30 14:04:54 +11:00
Ville Skyttä
998b4edb34
Grammar fixes (#1877) 2023-11-23 11:54:25 +11:00
Mike Farah
26effddb8c Fixed empty array json bug #1880 2023-11-23 11:53:18 +11:00