Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
v1.8.1 - 2023-04-07
Fixed
- [Fix]
parse
: preserve whitespace in comments #6
- [Fix] properly support the
escape
option #5
Commits
- [Refactor]
parse
: hoist getVar
to module level b42ac73
- [Refactor] hoist some vars to module level
8f0c5c3
- [Refactor]
parse
: use slice
over substr
, cache some values fcb2e1a
- [Refactor]
parse
: a bit of cleanup 6780ec5
- [Refactor]
parse
: tweak the regex to not match nothing 227d474
- [Tests] increase coverage
a66de94
- [Refactor]
parse
: avoid shadowing a function arg 1d58679
v1.8.0 - 2023-01-30
Commits
- [New] extract
parse
and quote
to their own deep imports 553fdfc
- [Tests] add
nyc
coverage fd7ddcd
- [New] Add support for here strings (
<<<
) 9802fb3
- [New]
parse
: Add syntax support for duplicating input file descriptors 216b198
- [Dev Deps] update
@ljharb/eslint-config
, aud
, tape
85f8e31
- [Tests] add
evalmd
c5549fc
- [actions] update checkout action
62e9b49
v1.7.4 - 2022-10-12
Merged
- Add node_modules to .gitignore
#48
Commits
- [eslint] fix indentation and whitespace
aaa9d1f
- [eslint] additional cleanup
397cb62
- [meta] add
auto-changelog
497fca5
- [actions] add reusable workflows
4763c36
- [eslint] add eslint
6ee1437
- [readme] rename, add badges
7eb5134
- [meta] update URLs
67381b6
- [meta] create FUNDING.yml; add
funding
in package.json 8641572
- [meta] use
npmignore
to autogenerate an npmignore file 2e2007a
- Only apps should have lockfiles
f97411e
- [Dev Deps] update
tape
051f608
- [meta] add
safe-publish-latest
18cadf9
- [Tests] add
aud
in posttest
dc1cc12
1.7.3
- Fix a security issue where the regex for windows drive letters allowed some shell meta-characters
to escape the quoting rules. (CVE-2021-42740)
1.7.2
- Fix a regression introduced in 1.6.3. This reverts the Windows path quoting fix. (144e1c2)
1.7.1
- Fix
$
being removed when not part of an environment variable name. (@Adman in #32)
1.7.0
- Add support for parsing
>>
and >&
redirection operators. (@forivall in #16)
- Add support for parsing
<(
process substitution operator. (@cuonglm in #15)
1.6.3
- Fix Windows path quoting problems. (@dy in #34)
v1.6.2 - 2019-08-13
Merged
- Use native JSON and Array methods
#21
Commits
1.6.1 - 2016-06-17
Commits
- Fix some more escaping for .quote()
ace52f4
- Fix escaping for greater than and less than
70e9eb2
1.6.0 - 2016-04-23
Commits
- add comment parsing feature
b8b5c31
1.5.0 - 2016-03-16
Commits
- add escape option to .parse
4d400e7
1.4.3 - 2015-03-07
Commits
- Fix quote() with special chars
811b5a0
1.4.2 - 2014-07-20
Commits
1.4.1 - 2013-12-24
Commits
1.4.0 - 2013-10-17
Merged
Commits
- Rewrite parser as a character based scanner
c7ca9a2
- Add tests for glob patterns
3418892
- Update algo description
e1442cf
- Fix test case for backslash in double quotes
89bc550
- Add failing tests for crazy quoting tricks
58a5e48
1.3.3 - 2013-06-24
Commits
- failing set test with an env cb
9fb2096
- remove the broken special case
f9a0ee5
1.3.2 - 2013-06-24
Commits
- tests for setting env vars
f44b039
- fixed the parse test, broke the op tests
74d6686
- factored out single and double quote regex
de9e0a5
- updated set env test, already passes
7d5636b
- ops fixed
2b4e1b1
- passing all tests
44177e3
- backreferences in negated capture groups don't actually work
e189d9d
- another crazy ridiculous passing parse test
d1beb6b
- failing test for quoted whitespace and nested quotes
9a4c11c
- failing test for quotes embedded inside barewords
d997384
1.3.1 - 2013-05-13
Commits
1.3.0 - 2013-05-13
Commits
- hacky tokenizer is much simpler
7e91b18
- nearly passing with a clunky state env parser, array issues
d6d6416
- test for functional env expansion
666395f
- upgrade travis versions, tape
f6f8bd6
- 1.3.0, document env() lookups
041c5da
- first half of functional env() works
7a0cf79
- env() objects even work inside quote strings
16139f5
- another check just to make sure env() works
914a1a9
1.2.0 - 2013-05-13
Commits
- failing test for special shell parameter env vars
728862a
- add the special vars to the replace regex but the chunker breaks on them
d1ff82a
- fixed the env test, everything is fine
a45897f
1.1.0 - 2013-05-13
Commits
- quote all ops objects
ac7be63
- test for parsed ops objects in quote()
59fb71b
- another test for op object quoting
5819a31
1.0.0 - 2013-05-13
Commits
- document ops, op example
a6381e6
- some more passing double-char op tests
fbc6e5c
- failing test for | and & ops
d817736
- labeled regex states
8c008b2
- refactored the chunker regex into a string
0331c7f
- simple failing double-char op test
e51fa90
- failing expanded single-op tests for ; and ()
710bb24
- now passing all the single-char op tests
e3e9ac1
- using the control ops directly from the docs
f535987
- first part of op parsing works
e6f9199
- failing redirect tests
cb94c10
- another double-char op test just to be sure
5cf1bf2
- 1.0.0 for ops
17a40ed
- adding redirect <> ops to CONTROL makes the tests pass
48b1eb9
- double-char op test now passing
3998b0f
- using the meta chars directly from the docs
b009ef6
- the spec says tabs are also allowed
2adb373
- op test completely passing
20a0147
0.1.1 - 2013-04-17
Commits
- Return empty list when parsing an empty (or whitespace-only) string
1475717
0.1.0 - 2013-04-14
Commits
- externalize the regex declaration
37d6058
- modernize the readme
24106f5
- factor out interpolation
1b21b01
- half the env tests are working with basic interpolation
5891471
- env parse example
5757c42
- failing tests for unimplemented env interpolation
590534a
- denormalize the interpolate logic to make room for special cases
c669d2e
- cleaner implementation recursing on the double quote case
adae66f
- one test was wrong, checking for pre escapes
42b5f83
- finally passing all the tests
efa4084
- one more test passing with quote recursion
e9537b9
- use tape everywhere
ed0c1c6
- some extra metacharacter tests just to be sure
a6782ae
- minor fix to an env test
601b340
- document parse env
cc0efba
- better parse recursion to capture the containing quotes
8467961
- now just 2 tests failing with a subtle regex reordering
5448a02
- pass another test by using "" as the undefined
46e6cf4
- fixed a failing env test
17d1fda
- actually the test was wrong, module works fine
9d7b727
- another test to be even more sure
5afd47b
- failing test for: echo "foo = \"foo\""
8dbb280
0.0.1 - 2012-05-18
Commits
- fixed unescaped metachars and bump
5ce339f
- failing test for unescaped metachars
a315125
- fix for escaped spaces
669b616
- failing test for escaped space
c6ff3dc
0.0.0 - 2012-05-18
Commits