Mike Farah
0436b77d91
Man page wip
2021-10-15 09:51:42 +11:00
Mike Farah
4ce9433468
Removed leadingContentPreProcessing flag - header preprocessing is stable
2021-10-15 08:53:00 +11:00
Peter Matseykanets
dd259b4957
Make deepMatch report in linear time
...
The current implementation of the deepMatch() has the exponential runtime.
Given the long enough input and the pattern with multiple wildcards
it takes a while if ever to complete which can potentially be used
maliciously to cause a denial of service (cpu and memory consumption).
E.g. running this in the root of this repository
time yq eval '.jobs.publishDocker.steps.[] | select (.run == "****outputs")' .github/workflows/release.yml
gives on my laptop
25.11s user 0.06s system 99% cpu 25.182 total
Whereas the updated implementation gives
0.01s user 0.01s system 36% cpu 0.049 total
There are numerous similar CVEs reported for glob evaluation in
different shells/ftp-servers/libraries.
The replacement implementation with the linear runtime is shamelessly taken
verbatim from the briliant article by Russ Cox https://research.swtch.com/glob
2021-10-14 18:45:25 +11:00
Mike Farah
ed4d888bfa
Speed up multiply
2021-10-11 14:46:46 +11:00
Mike Farah
79bc1f95cb
Slight performance improvement to context.ChildContext
2021-10-11 12:56:27 +11:00
Mike Farah
4a4aae00af
Sped up explode operator
2021-10-11 10:41:15 +11:00
Mike Farah
839f795710
Fixed select bug ( #958 )
2021-10-07 15:04:36 +11:00
Mike Farah
43e40a6dda
Updating with documentation
2021-09-16 10:55:26 +10:00
Mike Farah
2292f0ffb4
Fixed with semicolon space issue
2021-09-15 22:24:03 +10:00
Mike Farah
2db8140d7f
Added contains operator
2021-09-15 15:18:10 +10:00
Mike Farah
084a0f6f1e
Merge branch 'subtract'
2021-09-12 21:59:07 +10:00
Mike Farah
6002604251
Added with operator
2021-09-12 21:52:02 +10:00
Mike Farah
b2ee131a4c
Updated var to work like jq #934
2021-09-12 16:55:55 +10:00
Mike Farah
1cfbbde796
Added missing closing bracket error check
2021-09-12 15:49:50 +10:00
Mike Farah
13c42db238
Adding subtraction support for arrays
2021-09-07 16:58:34 +10:00
Mike Farah
3543a2dbdc
Fixed union infinite loop #930
2021-09-05 11:07:40 +10:00
Mike Farah
8941573c1a
Fixing alternative op bug #930
2021-09-02 15:36:23 +10:00
Mike Farah
eea2c97cd8
Can process hex numbers
2021-09-02 15:26:44 +10:00
Mike Farah
cb95ab1494
Fixed merge comment issue #919
2021-08-26 16:31:26 +10:00
Mike Farah
d18aa3e9e0
Added shorthand output formats
2021-08-20 15:46:33 +10:00
Mike Farah
4ba96d902b
Fixed document header/footer comment handling when merging
2021-08-17 09:54:12 +10:00
Mike Farah
9de0d0aae1
Adding string readme
2021-08-01 18:47:04 +10:00
Mike Farah
669f6cf127
Added properties encoder test
2021-07-27 21:51:27 +10:00
Mike Farah
8c1a96d121
Properties encoder wip
2021-07-25 18:08:33 +10:00
Mike Farah
b64982a487
Properties encoder wip
2021-07-25 11:43:51 +10:00
Mike Farah
eeac03a437
Fixed merging arrays with merge anchors #899
2021-07-22 20:58:58 +10:00
Mike Farah
3b91ad5764
Handle leading comment with no new-line
2021-07-20 11:01:56 +10:00
Mike Farah
8508d3309b
More efficient front matter processor
2021-07-20 10:38:42 +10:00
Mike Farah
4e628327c4
Better way of processing leading content
2021-07-20 10:19:55 +10:00
Mike Farah
bbebebe30c
Fixed for most cases, except strip comments
2021-07-20 09:18:40 +10:00
Mike Farah
dafa114e65
Added printer tests
2021-07-19 20:12:04 +10:00
Mike Farah
519cf1dcd7
wip
2021-07-19 19:58:47 +10:00
Mike Farah
3a6f73e836
wip
2021-07-19 19:52:51 +10:00
Mike Farah
9c8253b582
Front matter processor seems to be working!
2021-07-18 13:17:35 +10:00
Mike Farah
555ad0762c
Added front-matter handler
2021-07-18 12:28:46 +10:00
Mike Farah
f6e2ab5cef
Remember comments in empty files
2021-07-16 22:08:22 +10:00
Mike Farah
28a8721f49
Handle empty files
2021-07-16 21:08:20 +10:00
Mike Farah
a13617407e
Fixed EOF bug when processing empty files
2021-07-16 20:56:22 +10:00
Mike Farah
171ca2e053
Improving reg ex doc
2021-07-16 10:18:25 +10:00
Mike Farah
2f0fe8aa13
Increment version
2021-07-16 10:09:12 +10:00
Mike Farah
d74bb8e28d
Adding magic to detect leading seperators
2021-07-15 11:34:49 +10:00
Mike Farah
5c0a5bd9d3
Added capture regex operator
2021-07-11 11:08:18 +10:00
Mike Farah
3394feee0d
Added test for #878
2021-07-09 15:58:33 +10:00
Mike Farah
b9d01f1e95
Added test operator
2021-07-09 15:54:56 +10:00
Mike Farah
69c45ff64a
Added match operator
2021-07-09 15:33:41 +10:00
Mike Farah
573618e4ce
(wip) regex match op
2021-07-09 14:58:31 +10:00
Mike Farah
cc7ea83506
(wip) regex match op
2021-07-09 14:58:31 +10:00
Mike Farah
bae319ab7f
Revert usage of filepath.Clean (azure compatability issues)
2021-07-08 10:26:35 +10:00
Mike Farah
38ce8618e1
Revert "Fix for gosec rule G304 - sanitize filepaths"
...
This reverts commit ffb6cbf769
.
2021-07-08 10:14:01 +10:00
Mike Farah
cce3af001a
Extract out compound assign logic, use it add and subtract ops
2021-07-07 20:00:46 +10:00
Mike Farah
b4b2e1217a
Added another |= example
2021-07-07 19:53:33 +10:00
Mike Farah
b0074f5eba
Fixes #870
2021-07-07 19:22:55 +10:00
Mike Farah
542efd8928
Update append array docs
2021-07-07 15:36:43 +10:00
Mike Farah
ce3e347157
Fixed append array issue https://github.com/mikefarah/yq/issues/874
2021-07-07 15:30:45 +10:00
Mike Farah
d1b6a6fdd9
Fixed merge bug https://github.com/mikefarah/yq/issues/880
2021-07-07 14:29:24 +10:00
Monica Debbeler
ffb6cbf769
Fix for gosec rule G304 - sanitize filepaths
2021-07-07 13:52:11 +10:00
Monica Debbeler
f67a83a5bc
Fix for gosec rule G104 - handle errors
2021-07-07 13:50:04 +10:00
Mike Farah
da47318f42
Fixed newline issue https://github.com/mikefarah/yq/issues/855
2021-06-12 08:26:27 +10:00
Mike Farah
88bee2809f
Fixed issue on creating objects using []
2021-06-11 14:27:44 +10:00
Mike Farah
cb912ca188
Added more tests
2021-06-10 09:53:50 +10:00
Mike Farah
d1548ead71
Fixed alternative operator
2021-06-10 09:35:07 +10:00
Mike Farah
09c5ed24be
Updating docs
2021-06-10 08:35:41 +10:00
Mike Farah
78af68f436
Added nested traversal examples
2021-06-10 08:31:26 +10:00
Mike Farah
01e478e81d
Fixing entries test
2021-06-08 21:50:14 +10:00
Curtis Vogt
ed377a032d
Add with_entries
example using filtering
2021-06-08 21:38:54 +10:00
Mike Farah
fae2b2643c
Added gofmt to format command
2021-06-01 10:52:14 +10:00
Mike Farah
dd86b5e7f2
Fixing doc
2021-05-28 17:00:25 +10:00
Mike Farah
f1f75683c1
Fixed nil RHS bug in alternative operator #838
2021-05-28 16:59:02 +10:00
Mike Farah
48eeb2a9df
Fixes update-assign with collect object issue #830
2021-05-22 08:22:45 +10:00
Mike Farah
d18a6963f6
Fixes nested array indexing #824
2021-05-21 14:18:24 +10:00
Mike Farah
77edbb9f5c
Fixing readonly ops not to modify context when paths dont exist
2021-05-16 15:02:31 +10:00
Mike Farah
179c44aacc
Fixing readonly ops not to modify context when paths dont exist
2021-05-16 14:36:13 +10:00
Mike Farah
bc70c1fb16
Added blank alias example
2021-05-16 14:18:18 +10:00
Mike Farah
0b71a40797
Fixing readonly ops not to modify context when paths dont exist
2021-05-16 14:17:13 +10:00
Mike Farah
3f51a44596
Fixing readonly ops not to modify context when paths dont exist
2021-05-16 14:00:30 +10:00
Mike Farah
dc464a5b10
Added ability to escape double quotes in double quotes
2021-05-16 12:38:17 +10:00
Mike Farah
5340ed0ad3
Fixed handling of null expressions in equals op
2021-05-16 12:38:17 +10:00
Mike Farah
f4392f8658
Added any_c and all_c operators
2021-05-14 15:03:28 +10:00
Mike Farah
8e14b3b393
Added any and all operators
2021-05-14 14:29:55 +10:00
Mike Farah
8627441705
Added unique operator
2021-05-14 09:43:52 +10:00
Mike Farah
aa95ecd012
Update operator docs
2021-05-11 14:35:59 +10:00
Mike Farah
a2bd463a91
Fixed null issue with entry operators
2021-05-10 10:42:43 +10:00
Mike Farah
bb3ffd40b5
Added optional traverse flag
2021-05-09 15:36:33 +10:00
Mike Farah
cc08afc435
Added with_entries
2021-05-09 15:12:50 +10:00
Mike Farah
941a453163
Added from_entries op
2021-05-09 14:18:25 +10:00
Mike Farah
77630ca179
Added to_entries op
2021-05-09 13:59:23 +10:00
Mike Farah
ae4b606707
Fixed merge anchor bug #800
2021-05-09 13:26:02 +10:00
Mike Farah
37f3e21970
Fixed boolean op with empty context issue
2021-05-09 12:44:05 +10:00
Mike Farah
25d0787011
updating operator docs
2021-05-05 15:03:27 +10:00
Mike Farah
b5b8da0a1d
Updating comment docs
2021-04-29 13:18:57 +10:00
Mike Farah
fa21510194
Moved multiply doc example lower
2021-04-29 12:03:56 +10:00
Mike Farah
f541194250
Added complex merge example
2021-04-28 20:35:10 +10:00
Mike Farah
38666f4db6
Added another style example for doc
2021-04-26 14:18:18 +10:00
Mike Farah
c8630fe4f3
Fixes delete issue #793
2021-04-25 12:05:56 +10:00
Mike Farah
87df9b1ae6
Updating operator doc
2021-04-24 17:41:06 +10:00
Mike Farah
b2a538bdfc
Better string sub documentation
2021-04-16 16:07:40 +10:00
Mike Farah
daf0bfe1b9
Added string substitute command
2021-04-15 16:09:47 +10:00
Mike Farah
750a00ec35
Added "expand" to explode docs for searchability
2021-04-13 13:59:26 +10:00
Mike Farah
25e0a824c5
Fixed alternative operator when LHS has empty matches
2021-04-13 10:53:46 +10:00
Mike Farah
12d3425b4a
Added subtract operator (numbers only)
2021-03-25 08:12:01 +11:00
Mike Farah
21a9e506cb
Fixed merge comments
2021-03-19 12:54:03 +11:00
Mike Farah
3722367fbb
Dont print doc separators for JSON ( https://github.com/mikefarah/yq/issues/735 )
2021-03-19 12:40:56 +11:00
Mike Farah
f7b50e9853
Fixed += operator ( https://github.com/mikefarah/yq/issues/750 )
2021-03-19 12:36:05 +11:00
Mike Farah
4f3fe256aa
Fixed precedence of CREATE_MAP ( https://github.com/mikefarah/yq/issues/753 )
2021-03-19 12:09:32 +11:00
Mike Farah
e93c43f7a0
Improving docs
2021-02-26 11:31:43 +11:00
Mike Farah
2ed5b2ff59
Improved lexer performance!
2021-02-25 16:47:55 +11:00
Mike Farah
81136ad57e
Arrays no longer deeply merge by defauly, like jq
2021-02-18 11:16:54 +11:00
Mike Farah
a6cd250987
nicer reduce example
2021-02-15 18:23:50 +11:00
Mike Farah
ee1f55630f
nicer reduce example
2021-02-15 17:33:41 +11:00
Mike Farah
9072e8d3b3
Added context variable for reduce
2021-02-15 17:31:12 +11:00
Mike Farah
99b08fd612
Added reduce examples and doc
2021-02-15 16:38:53 +11:00
Mike Farah
b2317a14ef
infix reduce
2021-02-15 16:06:37 +11:00
Mike Farah
3e5f7b147f
infix reduce
2021-02-15 15:31:55 +11:00
Mike Farah
c4faa70143
wip - reduce!
2021-02-15 14:27:00 +11:00
Mike Farah
c4c8e5e7b0
Preserve comments on map keys
2021-02-11 10:58:40 +11:00
Mike Farah
e02ad4d7e8
Added space example to docs
2021-02-11 10:58:40 +11:00
Mike Farah
429c3ca65b
Fixed merge dropping anchors
2021-02-11 10:58:40 +11:00
Mike Farah
cfcac6d1dc
improving docs
2021-02-11 10:58:40 +11:00
Mike Farah
a5ddbca97f
Fixing special character example
2021-02-11 10:58:40 +11:00
Mike Farah
30027a8cf4
Added not equals operator
2021-02-11 10:58:40 +11:00
Mike Farah
f92a42e4f8
Equals now only compares scalars
2021-02-11 10:58:40 +11:00
Mike Farah
3c466dc66e
Fixed delete bug
2021-02-11 10:58:40 +11:00
Mike Farah
10600dd29a
Fixed delete bug
2021-02-11 10:58:40 +11:00
Mike Farah
3a464272d4
Added variable doc
2021-02-11 10:58:40 +11:00
Mike Farah
691efadfac
Fixed variable precedence
2021-02-11 10:58:40 +11:00
Mike Farah
6efe4c4797
Fixing op precedences
2021-02-11 10:58:40 +11:00
Mike Farah
9e56b364c2
Fixing op precedences
2021-02-11 10:58:40 +11:00
Mike Farah
85ec32e3db
Added variables
2021-02-11 10:58:40 +11:00
Mike Farah
5c73132c8e
Dont create entries when selecting
2021-02-11 10:58:40 +11:00
Mike Farah
c6efd5519b
Pass context through operators
...
Allows more sophisticated functionality
2021-02-11 10:58:40 +11:00
Mike Farah
820a3320be
Fixed length of null to be zero
2021-02-11 10:58:40 +11:00
Mike Farah
c77001f969
Can add and merge append to null
2021-02-11 10:58:40 +11:00
evnp
1be3b31bbc
Don't escape HTML chars when converting to json
...
json.Encoder and json.Marshal implicitly use HTMLEscape to convert
>, <, &, with \u003c, \u003e, \u0026. This behavior carries over
to yq, where chars will be escaped when outputting json but not when
outputting yaml.
This changeset disables this behavior via encoder.SetEscapeHTML(false).
Unfortunately there is no equivalent option for json.Marshal, so its
single usage has been replaced with an encoder (with escaping disabled).
2021-02-11 10:58:40 +11:00
Mike Farah
6c14a80991
Fixed cross-function combinatorial bug
2021-02-11 10:58:40 +11:00
Mike Farah
76bd1896e9
wip
2021-02-11 10:58:40 +11:00
Mike Farah
c63801a8a5
thoughts
2021-02-11 10:58:40 +11:00
Mike Farah
f7cfdc29e1
cross function fix wip
2021-02-11 10:58:40 +11:00
Mike Farah
29f40dad59
Fixing multiply doc
2021-02-11 10:58:40 +11:00
Mike Farah
0707525b29
Added keys operator
2021-02-11 10:58:40 +11:00
Mike Farah
62acee54c3
Added split string operator
2021-02-11 10:58:40 +11:00
Mike Farah
d21c94cf4f
Added join strings operator
2021-02-11 10:58:40 +11:00
Mike Farah
626e9cacaf
Split doc operator
2021-02-11 10:58:40 +11:00
Mike Farah
02ef99560d
Fixing add,multiply,alternative operator precendences
2021-02-11 10:58:40 +11:00
Mike Farah
c59209f041
Fixed remove comments example
2021-02-11 10:58:40 +11:00
Mike Farah
947ffb6986
Dont use pointer for env prefs (avoid nil)
2021-02-11 10:58:40 +11:00
Mike Farah
1a03031297
Dont use pointer for recursive prefs (avoid nil)
2021-02-11 10:58:40 +11:00
Mike Farah
2c7db0071a
Dont use pointer for multiply prefs (avoid nil)
2021-02-11 10:58:40 +11:00
Mike Farah
0484d0232b
Dont use pointer for commment prefs (avoid nil)
2021-02-11 10:58:40 +11:00
Mike Farah
91c72d2d9e
Added merge if empty
2021-02-11 10:58:40 +11:00
Mike Farah
09ec740d45
Added operator level doc
2021-02-11 10:58:40 +11:00
Mike Farah
e86f83fb69
Renaming pathtree to expression
2021-02-11 10:58:40 +11:00
Mike Farah
7d5b6b5442
Removed global vars
2021-02-11 10:58:40 +11:00
Mike Farah
b749973fe0
UnwrapDoc now private
2021-02-11 10:58:40 +11:00
Mike Farah
ba223df4ac
Moved eval function to eval interface
2021-02-11 10:58:40 +11:00
Mikhail Katychev
e6336bcb85
added lib_test.go
2021-02-11 10:58:40 +11:00
Mikhail Katychev
9ae03e0a1c
added EvaluateNodes and EvaluateCandidateNodes to yqlib
2021-02-11 10:58:40 +11:00
Mike Farah
55712afea6
Merge now copies anchor names
2021-02-11 10:58:40 +11:00
Mike Farah
7518dac99c
Fixed creation of candidateNode in operators to include file metadata
2021-02-11 10:58:40 +11:00
Mike Farah
49ac2bac13
Cleaning up exposed public api
2021-02-11 10:58:40 +11:00
Mike Farah
e28df367eb
Fixed tag operator for top level node
2021-02-11 10:58:40 +11:00
Mike Farah
90ec05be54
Fixed equals operator for top level node
2021-02-11 10:58:40 +11:00
Mike Farah
8f5270cc63
Fixed has operator for top level node
2021-02-11 10:58:40 +11:00
Mike Farah
286590b01e
fixing exposed functions and interfaces
2021-02-11 10:58:40 +11:00
Mike Farah
c1cf8b4e34
fixing exposed functions and interfaces
2021-02-11 10:58:40 +11:00
Mike Farah
461661112c
Better add documentation
2021-02-11 10:58:40 +11:00
Mike Farah
578f2c27f9
Added scalar addition
2021-02-11 10:58:40 +11:00
Mike Farah
6ed037a9f6
Fixed collect at document level
2021-02-11 10:58:40 +11:00
Mike Farah
69386316f3
Better error handling will empty env
2021-02-11 10:58:40 +11:00
Mike Farah
a0e1f65b20
Better recursive decent docs
2021-02-11 10:58:40 +11:00
Mike Farah
8027f4c568
Better docIndex docs
2021-02-11 10:58:40 +11:00
Mike Farah
b13eb7083e
Better env docs
2021-02-11 10:58:40 +11:00
Mike Farah
7a184bef78
Env Ops!
2021-02-11 10:58:40 +11:00
Mike Farah
34bc33d5c5
strenv
2021-02-11 10:58:40 +11:00
Mike Farah
4d8b64d05c
wip
2021-02-11 10:58:40 +11:00
Mike Farah
2d9cc3c107
wip
2021-02-11 10:58:40 +11:00
Mike Farah
ceff2cc18d
Added recurse examples
2021-02-11 10:58:40 +11:00
Mike Farah
db62a16007
Added another delete example
2021-02-11 10:58:40 +11:00
Mike Farah
2a6e423d2d
Can assign-update tag
2021-02-11 10:58:40 +11:00
Mike Farah
5a1b81cbfc
Can assign-update style
2021-02-11 10:58:40 +11:00
Mike Farah
8c1f7dfbd7
Can assign-update aliases and anchors
2021-02-11 10:58:40 +11:00
Mike Farah
2e81384eed
Can assign-update comments
2021-02-11 10:58:40 +11:00
Mike Farah
bde419aaee
Updated collect objcet doc
2021-02-11 10:58:40 +11:00
Mike Farah
9b185a4409
Added shorthand document index selection
2021-02-11 10:58:40 +11:00
Mike Farah
0c777a4967
Unwrap node in get tag to return proper tag at root level
2021-02-11 10:58:40 +11:00
Mike Farah
04491e13c3
Refactored doc generation, add fi fileIndex alias
2021-02-11 10:58:40 +11:00
Mike Farah
5aff50a345
Fixed updating yaml from other files
2021-02-11 10:58:40 +11:00
Mike Farah
9509831cff
Updated docs
2020-12-29 22:35:57 +11:00
Mike Farah
94a563dfd8
Updated docs
2020-12-28 11:57:20 +11:00
Mike Farah
0328cfd619
Added prettyPrint flag
2020-12-28 11:40:41 +11:00
Mike Farah
88663a6ce3
Added recurse keys operator
2020-12-28 11:24:42 +11:00
Mike Farah
b10a9ccfc6
Removed TraversePrefs
2020-12-28 10:29:43 +11:00
Mike Farah
9e9e15df73
More scenarios
2020-12-27 23:00:46 +11:00
Mike Farah
6cc6fdf322
Cleaning code
2020-12-27 22:56:15 +11:00
Mike Farah
a88c2dc5d3
Traverse Array Operator
2020-12-27 22:48:20 +11:00
Mike Farah
ea231006ed
Refactoring traverse
2020-12-27 09:55:08 +11:00
Mike Farah
80f187f1a4
Refactoring traverse
2020-12-27 09:51:34 +11:00
Mike Farah
98e8b3479f
Fixed nested array splat path
2020-12-25 12:49:05 +11:00
Mike Farah
c09f7aa707
Cleaning up docs
2020-12-23 10:30:13 +11:00
Mike Farah
1b0bce5da6
Added alias operator;
...
alias, anchor and explode ops are now all documented together
2020-12-22 12:23:13 +11:00
Mike Farah
f112bde5fe
Added anchor operator
2020-12-22 11:57:41 +11:00