Socket
Socket
Sign inDemoInstall

dotenvi

Package Overview
Dependencies
50
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.6.0 to 0.6.1

6

coverage/coverage-final.json
{"/home/circleci/project/src/inputParser.ts": {"path":"/home/circleci/project/src/inputParser.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"2":{"start":{"line":6,"column":17},"end":{"line":6,"column":47}},"3":{"start":{"line":7,"column":2},"end":{"line":12,"column":3}},"4":{"start":{"line":8,"column":4},"end":{"line":8,"column":40}},"5":{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},"6":{"start":{"line":10,"column":6},"end":{"line":10,"column":73}},"7":{"start":{"line":13,"column":17},"end":{"line":13,"column":36}},"8":{"start":{"line":14,"column":15},"end":{"line":14,"column":36}},"9":{"start":{"line":15,"column":2},"end":{"line":27,"column":3}},"10":{"start":{"line":16,"column":18},"end":{"line":16,"column":31}},"11":{"start":{"line":17,"column":4},"end":{"line":26,"column":5}},"12":{"start":{"line":18,"column":6},"end":{"line":18,"column":37}},"13":{"start":{"line":19,"column":11},"end":{"line":26,"column":5}},"14":{"start":{"line":20,"column":6},"end":{"line":23,"column":8}},"15":{"start":{"line":25,"column":6},"end":{"line":25,"column":96}},"16":{"start":{"line":28,"column":2},"end":{"line":28,"column":16}},"17":{"start":{"line":5,"column":0},"end":{"line":29,"column":1}}},"fnMap":{"0":{"name":"parse","decl":{"start":{"line":5,"column":0},"end":{"line":5,"column":21}},"loc":{"start":{"line":5,"column":54},"end":{"line":29,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":12,"column":3}},{"start":{"line":7,"column":2},"end":{"line":12,"column":3}}]},"1":{"loc":{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":5}},{"start":{"line":9,"column":4},"end":{"line":11,"column":5}}]},"2":{"loc":{"start":{"line":17,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":26,"column":5}},{"start":{"line":17,"column":4},"end":{"line":26,"column":5}}]},"3":{"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":33}},"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":33}},{"start":{"line":17,"column":37},"end":{"line":17,"column":62}},{"start":{"line":17,"column":66},"end":{"line":17,"column":92}}]},"4":{"loc":{"start":{"line":19,"column":11},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":11},"end":{"line":26,"column":5}},{"start":{"line":19,"column":11},"end":{"line":26,"column":5}}]},"5":{"loc":{"start":{"line":19,"column":15},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":15},"end":{"line":19,"column":29}},{"start":{"line":19,"column":33},"end":{"line":19,"column":44}}]}},"s":{"0":1,"1":1,"2":6,"3":6,"4":4,"5":4,"6":2,"7":4,"8":4,"9":4,"10":7,"11":7,"12":3,"13":4,"14":2,"15":2,"16":2,"17":1},"f":{"0":6},"b":{"0":[4,2],"1":[2,2],"2":[3,4],"3":[7,4,4],"4":[2,2],"5":[4,3]}}
,"/home/circleci/project/src/resolvers.ts": {"path":"/home/circleci/project/src/resolvers.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":5,"column":18},"end":{"line":5,"column":42}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":36}},"4":{"start":{"line":12,"column":13},"end":{"line":61,"column":2}},"5":{"start":{"line":13,"column":50},"end":{"line":42,"column":3}},"6":{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":54}},"8":{"start":{"line":18,"column":16},"end":{"line":18,"column":36}},"9":{"start":{"line":19,"column":27},"end":{"line":19,"column":49}},"10":{"start":{"line":21,"column":4},"end":{"line":28,"column":5}},"11":{"start":{"line":22,"column":6},"end":{"line":22,"column":83}},"12":{"start":{"line":24,"column":6},"end":{"line":26,"column":8}},"13":{"start":{"line":27,"column":6},"end":{"line":27,"column":23}},"14":{"start":{"line":29,"column":4},"end":{"line":33,"column":5}},"15":{"start":{"line":30,"column":6},"end":{"line":31,"column":104}},"16":{"start":{"line":32,"column":6},"end":{"line":32,"column":23}},"17":{"start":{"line":35,"column":4},"end":{"line":39,"column":5}},"18":{"start":{"line":36,"column":6},"end":{"line":38,"column":7}},"19":{"start":{"line":37,"column":8},"end":{"line":37,"column":34}},"20":{"start":{"line":40,"column":4},"end":{"line":40,"column":95}},"21":{"start":{"line":41,"column":4},"end":{"line":41,"column":21}},"22":{"start":{"line":43,"column":34},"end":{"line":48,"column":3}},"23":{"start":{"line":44,"column":4},"end":{"line":46,"column":5}},"24":{"start":{"line":45,"column":6},"end":{"line":45,"column":68}},"25":{"start":{"line":47,"column":4},"end":{"line":47,"column":33}},"26":{"start":{"line":49,"column":39},"end":{"line":51,"column":3}},"27":{"start":{"line":50,"column":4},"end":{"line":50,"column":20}},"28":{"start":{"line":52,"column":51},"end":{"line":60,"column":3}},"29":{"start":{"line":53,"column":22},"end":{"line":53,"column":78}},"30":{"start":{"line":54,"column":24},"end":{"line":54,"column":94}},"31":{"start":{"line":55,"column":4},"end":{"line":59,"column":9}},"32":{"start":{"line":57,"column":8},"end":{"line":57,"column":82}},"33":{"start":{"line":58,"column":8},"end":{"line":58,"column":25}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":13,"column":7},"end":{"line":13,"column":14}},"loc":{"start":{"line":13,"column":50},"end":{"line":42,"column":3}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":13,"column":50},"end":{"line":null,"column":-1}},"loc":{"start":{"line":13,"column":50},"end":{"line":42,"column":3}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":43,"column":7},"end":{"line":43,"column":14}},"loc":{"start":{"line":43,"column":34},"end":{"line":48,"column":3}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":43,"column":34},"end":{"line":null,"column":-1}},"loc":{"start":{"line":43,"column":34},"end":{"line":48,"column":3}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":49,"column":12},"end":{"line":49,"column":19}},"loc":{"start":{"line":49,"column":39},"end":{"line":51,"column":3}}},"5":{"name":"(anonymous_11)","decl":{"start":{"line":49,"column":39},"end":{"line":null,"column":-1}},"loc":{"start":{"line":49,"column":39},"end":{"line":51,"column":3}}},"6":{"name":"(anonymous_12)","decl":{"start":{"line":52,"column":8},"end":{"line":52,"column":15}},"loc":{"start":{"line":52,"column":51},"end":{"line":60,"column":3}}},"7":{"name":"(anonymous_13)","decl":{"start":{"line":52,"column":51},"end":{"line":null,"column":-1}},"loc":{"start":{"line":52,"column":51},"end":{"line":60,"column":3}}},"8":{"name":"(anonymous_14)","decl":{"start":{"line":56,"column":13},"end":{"line":56,"column":14}},"loc":{"start":{"line":56,"column":38},"end":{"line":59,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},{"start":{"line":15,"column":4},"end":{"line":17,"column":5}}]},"1":{"loc":{"start":{"line":29,"column":4},"end":{"line":33,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":33,"column":5}},{"start":{"line":29,"column":4},"end":{"line":33,"column":5}}]},"2":{"loc":{"start":{"line":36,"column":6},"end":{"line":38,"column":7}},"type":"if","locations":[{"start":{"line":36,"column":6},"end":{"line":38,"column":7}},{"start":{"line":36,"column":6},"end":{"line":38,"column":7}}]},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":46,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":46,"column":5}},{"start":{"line":44,"column":4},"end":{"line":46,"column":5}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":8,"23":8,"24":0,"25":8,"26":1,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0,"1":0,"2":8,"3":8,"4":1,"5":1,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,8]}}
,"/home/circleci/project/src/rewriter.ts": {"path":"/home/circleci/project/src/rewriter.ts","statementMap":{"0":{"start":{"line":4,"column":22},"end":{"line":4,"column":36}},"1":{"start":{"line":7,"column":22},"end":{"line":7,"column":43}},"2":{"start":{"line":8,"column":29},"end":{"line":8,"column":31}},"3":{"start":{"line":9,"column":4},"end":{"line":12,"column":5}},"4":{"start":{"line":10,"column":20},"end":{"line":10,"column":44}},"5":{"start":{"line":11,"column":6},"end":{"line":11,"column":56}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":18}},"7":{"start":{"line":17,"column":4},"end":{"line":50,"column":5}},"8":{"start":{"line":18,"column":19},"end":{"line":18,"column":21}},"9":{"start":{"line":19,"column":20},"end":{"line":19,"column":22}},"10":{"start":{"line":21,"column":6},"end":{"line":46,"column":7}},"11":{"start":{"line":22,"column":18},"end":{"line":22,"column":33}},"12":{"start":{"line":23,"column":8},"end":{"line":45,"column":9}},"13":{"start":{"line":24,"column":10},"end":{"line":24,"column":23}},"14":{"start":{"line":25,"column":15},"end":{"line":45,"column":9}},"15":{"start":{"line":26,"column":10},"end":{"line":26,"column":23}},"16":{"start":{"line":27,"column":24},"end":{"line":27,"column":56}},"17":{"start":{"line":28,"column":31},"end":{"line":28,"column":51}},"18":{"start":{"line":29,"column":31},"end":{"line":29,"column":62}},"19":{"start":{"line":30,"column":27},"end":{"line":30,"column":57}},"20":{"start":{"line":31,"column":10},"end":{"line":33,"column":11}},"21":{"start":{"line":32,"column":12},"end":{"line":32,"column":76}},"22":{"start":{"line":34,"column":29},"end":{"line":34,"column":67}},"23":{"start":{"line":35,"column":28},"end":{"line":35,"column":67}},"24":{"start":{"line":36,"column":10},"end":{"line":38,"column":11}},"25":{"start":{"line":37,"column":12},"end":{"line":37,"column":80}},"26":{"start":{"line":39,"column":10},"end":{"line":39,"column":57}},"27":{"start":{"line":40,"column":10},"end":{"line":40,"column":23}},"28":{"start":{"line":41,"column":15},"end":{"line":45,"column":9}},"29":{"start":{"line":42,"column":10},"end":{"line":42,"column":23}},"30":{"start":{"line":44,"column":10},"end":{"line":44,"column":22}},"31":{"start":{"line":47,"column":6},"end":{"line":47,"column":20}},"32":{"start":{"line":49,"column":6},"end":{"line":49,"column":19}},"33":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"34":{"start":{"line":55,"column":6},"end":{"line":55,"column":47}},"35":{"start":{"line":57,"column":4},"end":{"line":57,"column":39}},"36":{"start":{"line":3,"column":0},"end":{"line":59,"column":1}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":21}},"loc":{"start":{"line":4,"column":36},"end":{"line":4,"column":41}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":6,"column":8},"end":{"line":6,"column":14}},"loc":{"start":{"line":6,"column":39},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_9)","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":27}},"loc":{"start":{"line":16,"column":45},"end":{"line":51,"column":3}}},"3":{"name":"(anonymous_11)","decl":{"start":{"line":53,"column":10},"end":{"line":53,"column":20}},"loc":{"start":{"line":53,"column":34},"end":{"line":58,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":50,"column":5}},{"start":{"line":17,"column":4},"end":{"line":50,"column":5}}]},"1":{"loc":{"start":{"line":23,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":45,"column":9}},{"start":{"line":23,"column":8},"end":{"line":45,"column":9}}]},"2":{"loc":{"start":{"line":25,"column":15},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":15},"end":{"line":45,"column":9}},{"start":{"line":25,"column":15},"end":{"line":45,"column":9}}]},"3":{"loc":{"start":{"line":29,"column":31},"end":{"line":29,"column":43}},"type":"binary-expr","locations":[{"start":{"line":29,"column":31},"end":{"line":29,"column":43}},{"start":{"line":29,"column":47},"end":{"line":29,"column":62}}]},"4":{"loc":{"start":{"line":31,"column":10},"end":{"line":33,"column":11}},"type":"if","locations":[{"start":{"line":31,"column":10},"end":{"line":33,"column":11}},{"start":{"line":31,"column":10},"end":{"line":33,"column":11}}]},"5":{"loc":{"start":{"line":34,"column":44},"end":{"line":34,"column":59}},"type":"cond-expr","locations":[{"start":{"line":34,"column":44},"end":{"line":34,"column":59}},{"start":{"line":34,"column":62},"end":{"line":34,"column":67}}]},"6":{"loc":{"start":{"line":36,"column":10},"end":{"line":38,"column":11}},"type":"if","locations":[{"start":{"line":36,"column":10},"end":{"line":38,"column":11}},{"start":{"line":36,"column":10},"end":{"line":38,"column":11}}]},"7":{"loc":{"start":{"line":41,"column":15},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":41,"column":15},"end":{"line":45,"column":9}},{"start":{"line":41,"column":15},"end":{"line":45,"column":9}}]},"8":{"loc":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},{"start":{"line":54,"column":4},"end":{"line":56,"column":5}}]}},"s":{"0":5,"1":5,"2":5,"3":5,"4":6,"5":6,"6":5,"7":15,"8":15,"9":15,"10":15,"11":229,"12":229,"13":9,"14":220,"15":9,"16":9,"17":9,"18":9,"19":9,"20":9,"21":0,"22":9,"23":9,"24":9,"25":0,"26":9,"27":9,"28":211,"29":158,"30":53,"31":15,"32":0,"33":9,"34":0,"35":9,"36":1},"f":{"0":5,"1":5,"2":15,"3":9},"b":{"0":[15,0],"1":[9,220],"2":[9,211],"3":[9,9],"4":[0,9],"5":[9,0],"6":[0,9],"7":[158,53],"8":[0,9]}}
,"/home/circleci/project/src/resolvers.ts": {"path":"/home/circleci/project/src/resolvers.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":5,"column":18},"end":{"line":5,"column":42}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":36}},"4":{"start":{"line":11,"column":13},"end":{"line":57,"column":2}},"5":{"start":{"line":12,"column":50},"end":{"line":39,"column":3}},"6":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"7":{"start":{"line":14,"column":6},"end":{"line":14,"column":54}},"8":{"start":{"line":16,"column":16},"end":{"line":16,"column":36}},"9":{"start":{"line":17,"column":27},"end":{"line":17,"column":49}},"10":{"start":{"line":19,"column":4},"end":{"line":26,"column":5}},"11":{"start":{"line":20,"column":6},"end":{"line":20,"column":83}},"12":{"start":{"line":22,"column":6},"end":{"line":24,"column":8}},"13":{"start":{"line":25,"column":6},"end":{"line":25,"column":23}},"14":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"15":{"start":{"line":28,"column":6},"end":{"line":28,"column":115}},"16":{"start":{"line":29,"column":6},"end":{"line":29,"column":23}},"17":{"start":{"line":32,"column":4},"end":{"line":36,"column":5}},"18":{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},"19":{"start":{"line":34,"column":8},"end":{"line":34,"column":34}},"20":{"start":{"line":37,"column":4},"end":{"line":37,"column":95}},"21":{"start":{"line":38,"column":4},"end":{"line":38,"column":21}},"22":{"start":{"line":40,"column":34},"end":{"line":45,"column":3}},"23":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"24":{"start":{"line":42,"column":6},"end":{"line":42,"column":68}},"25":{"start":{"line":44,"column":4},"end":{"line":44,"column":33}},"26":{"start":{"line":46,"column":39},"end":{"line":48,"column":3}},"27":{"start":{"line":47,"column":4},"end":{"line":47,"column":20}},"28":{"start":{"line":49,"column":51},"end":{"line":56,"column":3}},"29":{"start":{"line":50,"column":22},"end":{"line":50,"column":78}},"30":{"start":{"line":51,"column":24},"end":{"line":51,"column":94}},"31":{"start":{"line":52,"column":4},"end":{"line":55,"column":7}},"32":{"start":{"line":53,"column":6},"end":{"line":53,"column":80}},"33":{"start":{"line":54,"column":6},"end":{"line":54,"column":23}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":12,"column":7},"end":{"line":12,"column":14}},"loc":{"start":{"line":12,"column":50},"end":{"line":39,"column":3}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":12,"column":50},"end":{"line":null,"column":-1}},"loc":{"start":{"line":12,"column":50},"end":{"line":39,"column":3}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":40,"column":7},"end":{"line":40,"column":14}},"loc":{"start":{"line":40,"column":34},"end":{"line":45,"column":3}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":40,"column":34},"end":{"line":null,"column":-1}},"loc":{"start":{"line":40,"column":34},"end":{"line":45,"column":3}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":46,"column":12},"end":{"line":46,"column":19}},"loc":{"start":{"line":46,"column":39},"end":{"line":48,"column":3}}},"5":{"name":"(anonymous_11)","decl":{"start":{"line":46,"column":39},"end":{"line":null,"column":-1}},"loc":{"start":{"line":46,"column":39},"end":{"line":48,"column":3}}},"6":{"name":"(anonymous_12)","decl":{"start":{"line":49,"column":8},"end":{"line":49,"column":15}},"loc":{"start":{"line":49,"column":51},"end":{"line":56,"column":3}}},"7":{"name":"(anonymous_13)","decl":{"start":{"line":49,"column":51},"end":{"line":null,"column":-1}},"loc":{"start":{"line":49,"column":51},"end":{"line":56,"column":3}}},"8":{"name":"(anonymous_14)","decl":{"start":{"line":52,"column":49},"end":{"line":52,"column":50}},"loc":{"start":{"line":52,"column":74},"end":{"line":55,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},{"start":{"line":13,"column":4},"end":{"line":15,"column":5}}]},"1":{"loc":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},{"start":{"line":27,"column":4},"end":{"line":30,"column":5}}]},"2":{"loc":{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":33,"column":6},"end":{"line":35,"column":7}},{"start":{"line":33,"column":6},"end":{"line":35,"column":7}}]},"3":{"loc":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},{"start":{"line":41,"column":4},"end":{"line":43,"column":5}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":9,"23":9,"24":1,"25":9,"26":1,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0,"1":0,"2":9,"3":9,"4":1,"5":1,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[1,8]}}
,"/home/circleci/project/src/rewriter.ts": {"path":"/home/circleci/project/src/rewriter.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"1":{"start":{"line":5,"column":22},"end":{"line":5,"column":36}},"2":{"start":{"line":8,"column":22},"end":{"line":8,"column":43}},"3":{"start":{"line":9,"column":29},"end":{"line":9,"column":31}},"4":{"start":{"line":10,"column":4},"end":{"line":13,"column":5}},"5":{"start":{"line":11,"column":20},"end":{"line":11,"column":44}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":56}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":18}},"8":{"start":{"line":18,"column":4},"end":{"line":51,"column":5}},"9":{"start":{"line":19,"column":19},"end":{"line":19,"column":21}},"10":{"start":{"line":20,"column":20},"end":{"line":20,"column":22}},"11":{"start":{"line":22,"column":6},"end":{"line":47,"column":7}},"12":{"start":{"line":23,"column":18},"end":{"line":23,"column":33}},"13":{"start":{"line":24,"column":8},"end":{"line":46,"column":9}},"14":{"start":{"line":25,"column":10},"end":{"line":25,"column":23}},"15":{"start":{"line":26,"column":15},"end":{"line":46,"column":9}},"16":{"start":{"line":27,"column":10},"end":{"line":27,"column":23}},"17":{"start":{"line":28,"column":24},"end":{"line":28,"column":56}},"18":{"start":{"line":29,"column":31},"end":{"line":29,"column":51}},"19":{"start":{"line":30,"column":31},"end":{"line":30,"column":62}},"20":{"start":{"line":31,"column":27},"end":{"line":31,"column":57}},"21":{"start":{"line":32,"column":10},"end":{"line":34,"column":11}},"22":{"start":{"line":33,"column":12},"end":{"line":33,"column":76}},"23":{"start":{"line":35,"column":27},"end":{"line":35,"column":65}},"24":{"start":{"line":36,"column":25},"end":{"line":36,"column":62}},"25":{"start":{"line":37,"column":33},"end":{"line":37,"column":66}},"26":{"start":{"line":38,"column":10},"end":{"line":40,"column":11}},"27":{"start":{"line":39,"column":12},"end":{"line":39,"column":37}},"28":{"start":{"line":41,"column":10},"end":{"line":41,"column":23}},"29":{"start":{"line":42,"column":15},"end":{"line":46,"column":9}},"30":{"start":{"line":43,"column":10},"end":{"line":43,"column":23}},"31":{"start":{"line":45,"column":10},"end":{"line":45,"column":22}},"32":{"start":{"line":48,"column":6},"end":{"line":48,"column":20}},"33":{"start":{"line":50,"column":6},"end":{"line":50,"column":19}},"34":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"35":{"start":{"line":56,"column":6},"end":{"line":56,"column":47}},"36":{"start":{"line":58,"column":4},"end":{"line":58,"column":39}},"37":{"start":{"line":4,"column":0},"end":{"line":60,"column":1}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":21}},"loc":{"start":{"line":5,"column":36},"end":{"line":5,"column":40}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":7,"column":8},"end":{"line":7,"column":14}},"loc":{"start":{"line":7,"column":39},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_9)","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":27}},"loc":{"start":{"line":17,"column":45},"end":{"line":52,"column":3}}},"3":{"name":"(anonymous_11)","decl":{"start":{"line":54,"column":10},"end":{"line":54,"column":20}},"loc":{"start":{"line":54,"column":34},"end":{"line":59,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":51,"column":5}},{"start":{"line":18,"column":4},"end":{"line":51,"column":5}}]},"1":{"loc":{"start":{"line":24,"column":8},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":46,"column":9}},{"start":{"line":24,"column":8},"end":{"line":46,"column":9}}]},"2":{"loc":{"start":{"line":26,"column":15},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":26,"column":15},"end":{"line":46,"column":9}},{"start":{"line":26,"column":15},"end":{"line":46,"column":9}}]},"3":{"loc":{"start":{"line":30,"column":31},"end":{"line":30,"column":43}},"type":"binary-expr","locations":[{"start":{"line":30,"column":31},"end":{"line":30,"column":43}},{"start":{"line":30,"column":47},"end":{"line":30,"column":62}}]},"4":{"loc":{"start":{"line":32,"column":10},"end":{"line":34,"column":11}},"type":"if","locations":[{"start":{"line":32,"column":10},"end":{"line":34,"column":11}},{"start":{"line":32,"column":10},"end":{"line":34,"column":11}}]},"5":{"loc":{"start":{"line":35,"column":42},"end":{"line":35,"column":57}},"type":"cond-expr","locations":[{"start":{"line":35,"column":42},"end":{"line":35,"column":57}},{"start":{"line":35,"column":60},"end":{"line":35,"column":65}}]},"6":{"loc":{"start":{"line":38,"column":10},"end":{"line":40,"column":11}},"type":"if","locations":[{"start":{"line":38,"column":10},"end":{"line":40,"column":11}},{"start":{"line":38,"column":10},"end":{"line":40,"column":11}}]},"7":{"loc":{"start":{"line":42,"column":15},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":15},"end":{"line":46,"column":9}},{"start":{"line":42,"column":15},"end":{"line":46,"column":9}}]},"8":{"loc":{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":57,"column":5}},{"start":{"line":55,"column":4},"end":{"line":57,"column":5}}]}},"s":{"0":1,"1":6,"2":6,"3":6,"4":6,"5":7,"6":7,"7":6,"8":17,"9":16,"10":16,"11":16,"12":244,"13":244,"14":10,"15":234,"16":10,"17":10,"18":10,"19":10,"20":10,"21":10,"22":0,"23":10,"24":10,"25":10,"26":10,"27":9,"28":10,"29":224,"30":171,"31":53,"32":16,"33":1,"34":10,"35":0,"36":10,"37":1},"f":{"0":6,"1":6,"2":17,"3":10},"b":{"0":[16,1],"1":[10,234],"2":[10,224],"3":[10,10],"4":[0,10],"5":[10,0],"6":[9,1],"7":[171,53],"8":[0,10]}}
,"/home/circleci/project/src/types.ts": {"path":"/home/circleci/project/src/types.ts","statementMap":{"0":{"start":{"line":9,"column":0},"end":{"line":14,"column":1}},"1":{"start":{"line":18,"column":4},"end":{"line":18,"column":24}},"2":{"start":{"line":19,"column":4},"end":{"line":19,"column":33}},"3":{"start":{"line":16,"column":0},"end":{"line":23,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":2},"end":{"line":null,"column":-1}},"loc":{"start":{"line":17,"column":2},"end":{"line":20,"column":3}}}},"branchMap":{},"s":{"0":2,"1":0,"2":0,"3":2},"f":{"0":0},"b":{}}
,"/home/circleci/project/src/utils.ts": {"path":"/home/circleci/project/src/utils.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":57}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":39}},"4":{"start":{"line":8,"column":15},"end":{"line":8,"column":17}},"5":{"start":{"line":9,"column":15},"end":{"line":9,"column":36}},"6":{"start":{"line":10,"column":2},"end":{"line":14,"column":3}},"7":{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},"8":{"start":{"line":12,"column":6},"end":{"line":12,"column":44}},"9":{"start":{"line":15,"column":17},"end":{"line":15,"column":23}},"10":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"11":{"start":{"line":17,"column":4},"end":{"line":17,"column":46}},"12":{"start":{"line":20,"column":2},"end":{"line":20,"column":37}},"13":{"start":{"line":7,"column":0},"end":{"line":21,"column":1}},"14":{"start":{"line":25,"column":17},"end":{"line":25,"column":19}},"15":{"start":{"line":26,"column":15},"end":{"line":26,"column":33}},"16":{"start":{"line":27,"column":2},"end":{"line":33,"column":3}},"17":{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},"18":{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},"19":{"start":{"line":30,"column":8},"end":{"line":30,"column":84}},"20":{"start":{"line":34,"column":2},"end":{"line":34,"column":16}},"21":{"start":{"line":24,"column":0},"end":{"line":35,"column":1}},"22":{"start":{"line":39,"column":23},"end":{"line":39,"column":35}},"23":{"start":{"line":40,"column":2},"end":{"line":46,"column":3}},"24":{"start":{"line":41,"column":4},"end":{"line":41,"column":71}},"25":{"start":{"line":42,"column":4},"end":{"line":42,"column":55}},"26":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"27":{"start":{"line":44,"column":6},"end":{"line":44,"column":28}},"28":{"start":{"line":47,"column":2},"end":{"line":47,"column":68}},"29":{"start":{"line":48,"column":2},"end":{"line":48,"column":16}},"30":{"start":{"line":38,"column":0},"end":{"line":49,"column":1}}},"fnMap":{"0":{"name":"writeFile","decl":{"start":{"line":7,"column":0},"end":{"line":7,"column":25}},"loc":{"start":{"line":7,"column":64},"end":{"line":21,"column":1}}},"1":{"name":"validateOutput","decl":{"start":{"line":24,"column":0},"end":{"line":24,"column":30}},"loc":{"start":{"line":24,"column":69},"end":{"line":35,"column":1}}},"2":{"name":"loadConfig","decl":{"start":{"line":38,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":38,"column":0},"end":{"line":49,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},{"start":{"line":11,"column":4},"end":{"line":13,"column":5}}]},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},{"start":{"line":16,"column":2},"end":{"line":18,"column":3}}]},"2":{"loc":{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":32,"column":5}},{"start":{"line":28,"column":4},"end":{"line":32,"column":5}}]},"3":{"loc":{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":31,"column":7}},{"start":{"line":29,"column":6},"end":{"line":31,"column":7}}]},"4":{"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":26}},"type":"binary-expr","locations":[{"start":{"line":29,"column":10},"end":{"line":29,"column":26}},{"start":{"line":29,"column":30},"end":{"line":29,"column":55}}]},"5":{"loc":{"start":{"line":40,"column":2},"end":{"line":46,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":46,"column":3}},{"start":{"line":40,"column":2},"end":{"line":46,"column":3}}]},"6":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},{"start":{"line":43,"column":4},"end":{"line":45,"column":5}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":1,"14":3,"15":3,"16":3,"17":4,"18":2,"19":1,"20":3,"21":1,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":1},"f":{"0":0,"1":3,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[2,2],"3":[1,1],"4":[2,1],"5":[0,0],"6":[0,0]}}
,"/home/circleci/project/src/utils.ts": {"path":"/home/circleci/project/src/utils.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":57}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":39}},"4":{"start":{"line":8,"column":15},"end":{"line":8,"column":17}},"5":{"start":{"line":9,"column":15},"end":{"line":9,"column":36}},"6":{"start":{"line":10,"column":2},"end":{"line":14,"column":3}},"7":{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},"8":{"start":{"line":12,"column":6},"end":{"line":12,"column":44}},"9":{"start":{"line":15,"column":17},"end":{"line":15,"column":23}},"10":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"11":{"start":{"line":17,"column":4},"end":{"line":17,"column":46}},"12":{"start":{"line":20,"column":2},"end":{"line":20,"column":37}},"13":{"start":{"line":7,"column":0},"end":{"line":21,"column":1}},"14":{"start":{"line":24,"column":17},"end":{"line":24,"column":19}},"15":{"start":{"line":25,"column":15},"end":{"line":25,"column":33}},"16":{"start":{"line":26,"column":2},"end":{"line":32,"column":3}},"17":{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},"18":{"start":{"line":28,"column":6},"end":{"line":30,"column":7}},"19":{"start":{"line":29,"column":8},"end":{"line":29,"column":84}},"20":{"start":{"line":33,"column":2},"end":{"line":33,"column":16}},"21":{"start":{"line":23,"column":0},"end":{"line":34,"column":1}},"22":{"start":{"line":37,"column":23},"end":{"line":37,"column":35}},"23":{"start":{"line":38,"column":2},"end":{"line":44,"column":3}},"24":{"start":{"line":39,"column":4},"end":{"line":39,"column":71}},"25":{"start":{"line":40,"column":4},"end":{"line":40,"column":55}},"26":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"27":{"start":{"line":42,"column":6},"end":{"line":42,"column":28}},"28":{"start":{"line":45,"column":2},"end":{"line":45,"column":68}},"29":{"start":{"line":46,"column":2},"end":{"line":46,"column":16}},"30":{"start":{"line":36,"column":0},"end":{"line":47,"column":1}}},"fnMap":{"0":{"name":"writeFile","decl":{"start":{"line":7,"column":0},"end":{"line":7,"column":25}},"loc":{"start":{"line":7,"column":64},"end":{"line":21,"column":1}}},"1":{"name":"validateOutput","decl":{"start":{"line":23,"column":0},"end":{"line":23,"column":30}},"loc":{"start":{"line":23,"column":69},"end":{"line":34,"column":1}}},"2":{"name":"loadConfig","decl":{"start":{"line":36,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":36,"column":0},"end":{"line":47,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},{"start":{"line":11,"column":4},"end":{"line":13,"column":5}}]},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},{"start":{"line":16,"column":2},"end":{"line":18,"column":3}}]},"2":{"loc":{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},{"start":{"line":27,"column":4},"end":{"line":31,"column":5}}]},"3":{"loc":{"start":{"line":28,"column":6},"end":{"line":30,"column":7}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":30,"column":7}},{"start":{"line":28,"column":6},"end":{"line":30,"column":7}}]},"4":{"loc":{"start":{"line":28,"column":10},"end":{"line":28,"column":26}},"type":"binary-expr","locations":[{"start":{"line":28,"column":10},"end":{"line":28,"column":26}},{"start":{"line":28,"column":30},"end":{"line":28,"column":55}},{"start":{"line":28,"column":59},"end":{"line":28,"column":77}}]},"5":{"loc":{"start":{"line":38,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":44,"column":3}},{"start":{"line":38,"column":2},"end":{"line":44,"column":3}}]},"6":{"loc":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},{"start":{"line":41,"column":4},"end":{"line":43,"column":5}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":1,"14":3,"15":3,"16":3,"17":4,"18":2,"19":1,"20":3,"21":1,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":1},"f":{"0":0,"1":3,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[2,2],"3":[1,1],"4":[2,1,1],"5":[0,0],"6":[0,0]}}
}

@@ -36,10 +36,13 @@ #! /usr/bin/env node

const rewriter = new rewriter_1.Rewriter(config);
rewriter.rewrite(document).then(result => {
rewriter
.rewrite(document)
.then(result => {
const errors = utils_1.validateOutput(document, result);
if (errors.length) {
throw new Error(`Validation errors found in result:\n${errors.join("\n")}`);
throw new Error(`Validation errors found in result:\n${errors.join('\n')}`);
}
console.info(`Writing .env file to ${args.outputdir}/.env`);
utils_1.writeFile(result, args.outputdir);
}).catch((error) => {
})
.catch((error) => {
console.error(`Could not write .env file: ${error.stack}`);

@@ -46,0 +49,0 @@ process.exit(1);

@@ -54,4 +54,3 @@ "use strict";

const promisified = bluebird_1.promisify(credstash.getSecret, { context: credstash });
return promisified({ name: argument })
.catch((error) => {
return promisified({ name: argument }).catch((error) => {
console.warn(`Could not load value ${argument} from credstash: ${error}`);

@@ -58,0 +57,0 @@ return undefined;

@@ -11,2 +11,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("util");
class Rewriter {

@@ -46,8 +47,8 @@ constructor(config) {

}
const innerValue = matchResults ? matchResults[2] : value;
let innerResult = yield resolver(innerValue, this.config);
if (!innerResult) {
throw new Error(`Resolver ${resolverName} didn't return any value`);
const argument = matchResults ? matchResults[2] : value;
let resolved = yield resolver(argument, this.config);
const rewrittenValue = yield this.rewriteValue(resolved);
if (!util_1.isNullOrUndefined(rewrittenValue)) {
result += rewrittenValue;
}
result += yield this.rewriteValue(innerResult);
capture = '';

@@ -54,0 +55,0 @@ }

@@ -27,3 +27,3 @@ "use strict";

if (!input[key].optional) {
if (!(key in output) || output[key] === undefined) {
if (!(key in output) || output[key] === undefined || output[key] === '') {
errors.push(`${key} is a required variable but is not specified in result`);

@@ -30,0 +30,0 @@ }

{
"name": "dotenvi",
"version": "0.6.0",
"version": "0.6.1",
"author": "Ben Ross",

@@ -14,3 +14,4 @@ "license": "MIT",

"precommit": "lint-staged",
"release": "semantic-release"
"release": "semantic-release",
"example": "pushd example && IA_ENV=test node ../dist/index.js -f env.yml -s development && popd"
},

@@ -17,0 +18,0 @@ "bin": {

@@ -34,3 +34,3 @@ #! /usr/bin/env node

try {
const contents = fs.readFileSync(args.file, 'utf8')
const contents = fs.readFileSync(args.file, 'utf8');
document = parse(contents, args.stage);

@@ -43,12 +43,15 @@ } catch (error) {

const rewriter = new Rewriter(config);
rewriter.rewrite(document).then(result => {
const errors = validateOutput(document, result);
if (errors.length) {
throw new Error(`Validation errors found in result:\n${errors.join("\n")}`);
}
console.info(`Writing .env file to ${args.outputdir}/.env`);
writeFile(result, args.outputdir);
}).catch((error: Error) => {
console.error(`Could not write .env file: ${error.stack}`);
process.exit(1);
});
rewriter
.rewrite(document)
.then(result => {
const errors = validateOutput(document, result);
if (errors.length) {
throw new Error(`Validation errors found in result:\n${errors.join('\n')}`);
}
console.info(`Writing .env file to ${args.outputdir}/.env`);
writeFile(result, args.outputdir);
})
.catch((error: Error) => {
console.error(`Could not write .env file: ${error.stack}`);
process.exit(1);
});

@@ -39,3 +39,2 @@ const { parse } = require('./inputParser');

it('Parses invalid document with bad stage', () => {

@@ -42,0 +41,0 @@ const contents = `

@@ -11,6 +11,4 @@ import * as AWS from 'aws-sdk';

export const resolvers: ResolverMap = {
cft: async (argument: string, config: Config) => {
if (!AWS.config.region) {

@@ -31,4 +29,3 @@ AWS.config.update({ region: config.awsRegion });

if (stack.Stacks.length == 0) {
console.warn(
`Could not locate stack with name ${parsedArgument[0]} when parsing cft reference ${argument}`);
console.warn(`Could not locate stack with name ${parsedArgument[0]} when parsing cft reference ${argument}`);
return undefined;

@@ -57,8 +54,7 @@ }

const promisified = promisify<string, object>(credstash.getSecret, { context: credstash });
return promisified({ name: argument })
.catch((error: Error): string => {
console.warn(`Could not load value ${argument} from credstash: ${error}`);
return undefined;
});
return promisified({ name: argument }).catch((error: Error): string => {
console.warn(`Could not load value ${argument} from credstash: ${error}`);
return undefined;
});
}
};
const { Rewriter } = require('./rewriter');
const { resolvers } = require('./resolvers');
describe('Rewriter', () => {
it('Rewrites constants', () => {
const document = {
'explicit': {
'value': '${constant:hello}'
explicit: {
value: '${constant:hello}'
},
'implicit': {
'value': 'hello'
implicit: {
value: 'hello'
}

@@ -17,3 +16,3 @@ };

const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then((output) => {
return rewriter.rewrite(document).then(output => {
expect(output['explicit']).toBe(output['implicit']);

@@ -26,4 +25,4 @@ });

const document = {
'test': {
'value': '${env:TEST}'
test: {
value: '${env:TEST}'
}

@@ -33,3 +32,3 @@ };

const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then((output) => {
return rewriter.rewrite(document).then(output => {
expect(output['test']).toBe('hello');

@@ -42,4 +41,4 @@ });

const document = {
'test': {
'value': 'test-${env:TEST}-test'
test: {
value: 'test-${env:TEST}-test'
}

@@ -49,3 +48,3 @@ };

const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then((output) => {
return rewriter.rewrite(document).then(output => {
expect(output['test']).toBe('test-hello-test');

@@ -59,4 +58,4 @@ });

const document = {
'test': {
'value': '${env:RECURSIVE_OUTER}'
test: {
value: '${env:RECURSIVE_OUTER}'
}

@@ -66,3 +65,3 @@ };

const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then((output) => {
return rewriter.rewrite(document).then(output => {
expect(output['test']).toBe('test');

@@ -72,10 +71,9 @@ });

it('Handles complex recursive rewrites', () => {
process.env['RECURSIVE_OUTER2'] = '${env:RECURSIVE_MIDDLE2}-test';
process.env['RECURSIVE_MIDDLE2'] = 'foo${env:RECURSIVE_INNER2}bar${env:RECURSIVE_INNER2}'
process.env['RECURSIVE_MIDDLE2'] = 'foo${env:RECURSIVE_INNER2}bar${env:RECURSIVE_INNER2}';
process.env['RECURSIVE_INNER2'] = 'test';
const document = {
'test': {
'value': '${env:RECURSIVE_OUTER2}'
test: {
value: '${env:RECURSIVE_OUTER2}'
}

@@ -85,6 +83,20 @@ };

const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then((output) => {
return rewriter.rewrite(document).then(output => {
expect(output['test']).toBe('footestbartest-test');
});
})
});
it('Supports optionals', () => {
const document = {
test: {
value: '${env:OPTIONAL}',
optional: true
}
};
const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then(output => {
expect(output['test']).toBe('');
});
});
});
import { Document, InputDocument, Config, Primitive } from './types';
import { isNullOrUndefined } from 'util';
export class Rewriter {
constructor(private config: Config) { }
constructor(private config: Config) {}

@@ -34,8 +35,8 @@ async rewrite(document: InputDocument): Promise<Document> {

}
const innerValue = matchResults ? matchResults[2] : value;
let innerResult = await resolver(innerValue, this.config);
if (!innerResult) {
throw new Error(`Resolver ${resolverName} didn't return any value`);
const argument = matchResults ? matchResults[2] : value;
let resolved = await resolver(argument, this.config);
const rewrittenValue = await this.rewriteValue(resolved);
if (!isNullOrUndefined(rewrittenValue)) {
result += rewrittenValue;
}
result += await this.rewriteValue(innerResult);
capture = '';

@@ -42,0 +43,0 @@ } else if (capture) {

export type ResolverFunction = (arg: string, config: Config) => Promise<string>;
export type ResolverMap = {
[name: string]: ResolverFunction
[name: string]: ResolverFunction;
};
export type Primitive = string | number | boolean;
export type Document = { [name: string]: Primitive }
export type Document = { [name: string]: Primitive };

@@ -12,4 +12,4 @@ export class InputDocument {

value: Primitive;
optional?: boolean
}
optional?: boolean;
};
}

@@ -23,3 +23,3 @@

awsRegion: string;
resolvers: ResolverMap
resolvers: ResolverMap;
}

@@ -6,6 +6,6 @@ const { validateOutput } = require('./utils');

const input = {
'variable': {
variable: {
value: 'constant'
},
'optional': {
optional: {
value: undefined,

@@ -16,3 +16,3 @@ optional: true

const output = {
'variable': 'constant',
variable: 'constant'
};

@@ -25,8 +25,7 @@ const errors = validateOutput(input, output);

const input = {
'environment': {
environment: {
value: '${env:this_should_not_be_defined}'
}
};
const output = {
}
const output = {};
const errors = validateOutput(input, output);

@@ -38,3 +37,3 @@ expect(errors.length).toBeGreaterThan(0);

const input = {
'environment': {
environment: {
value: '${env:this_should_not_be_defined}',

@@ -44,4 +43,3 @@ optional: true

};
const output = {
}
const output = {};
const errors = validateOutput(input, output);

@@ -48,0 +46,0 @@ expect(errors.length).toBe(0);

@@ -23,3 +23,2 @@ import * as fs from 'fs';

export function validateOutput(input: InputDocument, output: Document): string[] {

@@ -30,3 +29,3 @@ const errors = [];

if (!input[key].optional) {
if (!(key in output) || output[key] === undefined) {
if (!(key in output) || output[key] === undefined || output[key] === '') {
errors.push(`${key} is a required variable but is not specified in result`);

@@ -39,3 +38,2 @@ }

export function loadConfig(): Config {

@@ -42,0 +40,0 @@ let config: Config = new Config();

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc