Socket
Socket
Sign inDemoInstall

dotenvi

Package Overview
Dependencies
13
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.0 to 0.3.0

example/env.js

8

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":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}}]},"4":{"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":[2,2],"4":[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":48}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"3":{"start":{"line":8,"column":18},"end":{"line":8,"column":42}},"4":{"start":{"line":10,"column":13},"end":{"line":57,"column":2}},"5":{"start":{"line":11,"column":34},"end":{"line":38,"column":3}},"6":{"start":{"line":13,"column":4},"end":{"line":15,"column":5}},"7":{"start":{"line":14,"column":6},"end":{"line":14,"column":49}},"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":25,"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":26,"column":4},"end":{"line":29,"column":5}},"14":{"start":{"line":27,"column":6},"end":{"line":28,"column":104}},"15":{"start":{"line":31,"column":4},"end":{"line":35,"column":5}},"16":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"17":{"start":{"line":33,"column":8},"end":{"line":33,"column":34}},"18":{"start":{"line":36,"column":4},"end":{"line":36,"column":95}},"19":{"start":{"line":37,"column":4},"end":{"line":37,"column":21}},"20":{"start":{"line":39,"column":34},"end":{"line":44,"column":3}},"21":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"22":{"start":{"line":41,"column":6},"end":{"line":41,"column":68}},"23":{"start":{"line":43,"column":4},"end":{"line":43,"column":33}},"24":{"start":{"line":45,"column":39},"end":{"line":47,"column":3}},"25":{"start":{"line":46,"column":4},"end":{"line":46,"column":20}},"26":{"start":{"line":48,"column":35},"end":{"line":56,"column":3}},"27":{"start":{"line":49,"column":22},"end":{"line":49,"column":73}},"28":{"start":{"line":50,"column":24},"end":{"line":50,"column":54}},"29":{"start":{"line":51,"column":4},"end":{"line":55,"column":9}},"30":{"start":{"line":53,"column":8},"end":{"line":53,"column":82}},"31":{"start":{"line":54,"column":8},"end":{"line":54,"column":25}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":11,"column":7},"end":{"line":11,"column":14}},"loc":{"start":{"line":11,"column":34},"end":{"line":38,"column":3}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":11,"column":34},"end":{"line":null,"column":-1}},"loc":{"start":{"line":11,"column":34},"end":{"line":38,"column":3}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":39,"column":7},"end":{"line":39,"column":14}},"loc":{"start":{"line":39,"column":34},"end":{"line":44,"column":3}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":39,"column":34},"end":{"line":null,"column":-1}},"loc":{"start":{"line":39,"column":34},"end":{"line":44,"column":3}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":19}},"loc":{"start":{"line":45,"column":39},"end":{"line":47,"column":3}}},"5":{"name":"(anonymous_11)","decl":{"start":{"line":45,"column":39},"end":{"line":null,"column":-1}},"loc":{"start":{"line":45,"column":39},"end":{"line":47,"column":3}}},"6":{"name":"(anonymous_12)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":15}},"loc":{"start":{"line":48,"column":35},"end":{"line":56,"column":3}}},"7":{"name":"(anonymous_13)","decl":{"start":{"line":48,"column":35},"end":{"line":null,"column":-1}},"loc":{"start":{"line":48,"column":35},"end":{"line":56,"column":3}}},"8":{"name":"(anonymous_14)","decl":{"start":{"line":52,"column":13},"end":{"line":52,"column":14}},"loc":{"start":{"line":52,"column":38},"end":{"line":55,"column":7}}}},"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":26,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":29,"column":5}},{"start":{"line":26,"column":4},"end":{"line":29,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},{"start":{"line":32,"column":6},"end":{"line":34,"column":7}}]},"3":{"loc":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},{"start":{"line":40,"column":4},"end":{"line":42,"column":5}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"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":1,"21":1,"22":0,"23":1,"24":2,"25":2,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":1,"3":1,"4":2,"5":2,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,1]}}
,"/home/circleci/project/src/rewriter.ts": {"path":"/home/circleci/project/src/rewriter.ts","statementMap":{"0":{"start":{"line":4,"column":22},"end":{"line":4,"column":44}},"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":18},"end":{"line":17,"column":50}},"8":{"start":{"line":18,"column":20},"end":{"line":18,"column":38}},"9":{"start":{"line":19,"column":25},"end":{"line":19,"column":46}},"10":{"start":{"line":20,"column":23},"end":{"line":20,"column":51}},"11":{"start":{"line":21,"column":21},"end":{"line":21,"column":51}},"12":{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},"13":{"start":{"line":23,"column":6},"end":{"line":23,"column":70}},"14":{"start":{"line":25,"column":19},"end":{"line":25,"column":45}},"15":{"start":{"line":26,"column":4},"end":{"line":26,"column":18}},"16":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"17":{"start":{"line":31,"column":6},"end":{"line":31,"column":40}},"18":{"start":{"line":33,"column":4},"end":{"line":33,"column":32}},"19":{"start":{"line":3,"column":0},"end":{"line":35,"column":1}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":21}},"loc":{"start":{"line":4,"column":44},"end":{"line":4,"column":49}}},"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":42},"end":{"line":27,"column":3}}},"3":{"name":"(anonymous_11)","decl":{"start":{"line":29,"column":10},"end":{"line":29,"column":20}},"loc":{"start":{"line":29,"column":34},"end":{"line":34,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":25},"end":{"line":19,"column":32}},"type":"binary-expr","locations":[{"start":{"line":19,"column":25},"end":{"line":19,"column":32}},{"start":{"line":19,"column":36},"end":{"line":19,"column":46}}]},"1":{"loc":{"start":{"line":20,"column":33},"end":{"line":20,"column":43}},"type":"cond-expr","locations":[{"start":{"line":20,"column":33},"end":{"line":20,"column":43}},{"start":{"line":20,"column":46},"end":{"line":20,"column":51}}]},"2":{"loc":{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},{"start":{"line":22,"column":4},"end":{"line":24,"column":5}}]},"3":{"loc":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},{"start":{"line":30,"column":4},"end":{"line":32,"column":5}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":3,"5":3,"6":2,"7":3,"8":3,"9":3,"10":3,"11":3,"12":3,"13":0,"14":3,"15":3,"16":3,"17":1,"18":2,"19":1},"f":{"0":2,"1":2,"2":3,"3":3},"b":{"0":[3,2],"1":[2,1],"2":[0,3],"3":[1,2]}}
,"/home/circleci/project/src/types.ts": {"path":"/home/circleci/project/src/types.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":10,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"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":5,"column":15},"end":{"line":5,"column":17}},"2":{"start":{"line":6,"column":15},"end":{"line":6,"column":36}},"3":{"start":{"line":7,"column":2},"end":{"line":11,"column":3}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":44}},"6":{"start":{"line":12,"column":2},"end":{"line":12,"column":35}},"7":{"start":{"line":4,"column":0},"end":{"line":13,"column":1}},"8":{"start":{"line":17,"column":17},"end":{"line":17,"column":19}},"9":{"start":{"line":18,"column":15},"end":{"line":18,"column":33}},"10":{"start":{"line":19,"column":2},"end":{"line":25,"column":3}},"11":{"start":{"line":20,"column":4},"end":{"line":24,"column":5}},"12":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"13":{"start":{"line":22,"column":8},"end":{"line":22,"column":84}},"14":{"start":{"line":26,"column":2},"end":{"line":26,"column":16}},"15":{"start":{"line":16,"column":0},"end":{"line":27,"column":1}}},"fnMap":{"0":{"name":"writeFile","decl":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}},"loc":{"start":{"line":4,"column":62},"end":{"line":13,"column":1}}},"1":{"name":"validateOutput","decl":{"start":{"line":16,"column":0},"end":{"line":16,"column":30}},"loc":{"start":{"line":16,"column":69},"end":{"line":27,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{"line":8,"column":4},"end":{"line":10,"column":5}}]},"1":{"loc":{"start":{"line":20,"column":4},"end":{"line":24,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":24,"column":5}},{"start":{"line":20,"column":4},"end":{"line":24,"column":5}}]},"2":{"loc":{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},"type":"if","locations":[{"start":{"line":21,"column":6},"end":{"line":23,"column":7}},{"start":{"line":21,"column":6},"end":{"line":23,"column":7}}]},"3":{"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":26}},"type":"binary-expr","locations":[{"start":{"line":21,"column":10},"end":{"line":21,"column":26}},{"start":{"line":21,"column":30},"end":{"line":21,"column":44}}]}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1,"8":3,"9":3,"10":3,"11":4,"12":2,"13":1,"14":3,"15":1},"f":{"0":0,"1":3},"b":{"0":[0,0],"1":[2,2],"2":[1,1],"3":[2,1]}}
,"/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":4,"column":0},"end":{"line":4,"column":32}},"3":{"start":{"line":5,"column":18},"end":{"line":5,"column":42}},"4":{"start":{"line":10,"column":13},"end":{"line":57,"column":2}},"5":{"start":{"line":11,"column":50},"end":{"line":38,"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":25,"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":26,"column":4},"end":{"line":29,"column":5}},"14":{"start":{"line":27,"column":6},"end":{"line":28,"column":104}},"15":{"start":{"line":31,"column":4},"end":{"line":35,"column":5}},"16":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"17":{"start":{"line":33,"column":8},"end":{"line":33,"column":34}},"18":{"start":{"line":36,"column":4},"end":{"line":36,"column":95}},"19":{"start":{"line":37,"column":4},"end":{"line":37,"column":21}},"20":{"start":{"line":39,"column":34},"end":{"line":44,"column":3}},"21":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"22":{"start":{"line":41,"column":6},"end":{"line":41,"column":68}},"23":{"start":{"line":43,"column":4},"end":{"line":43,"column":33}},"24":{"start":{"line":45,"column":39},"end":{"line":47,"column":3}},"25":{"start":{"line":46,"column":4},"end":{"line":46,"column":20}},"26":{"start":{"line":48,"column":51},"end":{"line":56,"column":3}},"27":{"start":{"line":49,"column":22},"end":{"line":49,"column":78}},"28":{"start":{"line":50,"column":24},"end":{"line":50,"column":54}},"29":{"start":{"line":51,"column":4},"end":{"line":55,"column":9}},"30":{"start":{"line":53,"column":8},"end":{"line":53,"column":82}},"31":{"start":{"line":54,"column":8},"end":{"line":54,"column":25}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":11,"column":7},"end":{"line":11,"column":14}},"loc":{"start":{"line":11,"column":50},"end":{"line":38,"column":3}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":11,"column":50},"end":{"line":null,"column":-1}},"loc":{"start":{"line":11,"column":50},"end":{"line":38,"column":3}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":39,"column":7},"end":{"line":39,"column":14}},"loc":{"start":{"line":39,"column":34},"end":{"line":44,"column":3}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":39,"column":34},"end":{"line":null,"column":-1}},"loc":{"start":{"line":39,"column":34},"end":{"line":44,"column":3}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":19}},"loc":{"start":{"line":45,"column":39},"end":{"line":47,"column":3}}},"5":{"name":"(anonymous_11)","decl":{"start":{"line":45,"column":39},"end":{"line":null,"column":-1}},"loc":{"start":{"line":45,"column":39},"end":{"line":47,"column":3}}},"6":{"name":"(anonymous_12)","decl":{"start":{"line":48,"column":8},"end":{"line":48,"column":15}},"loc":{"start":{"line":48,"column":51},"end":{"line":56,"column":3}}},"7":{"name":"(anonymous_13)","decl":{"start":{"line":48,"column":51},"end":{"line":null,"column":-1}},"loc":{"start":{"line":48,"column":51},"end":{"line":56,"column":3}}},"8":{"name":"(anonymous_14)","decl":{"start":{"line":52,"column":13},"end":{"line":52,"column":14}},"loc":{"start":{"line":52,"column":38},"end":{"line":55,"column":7}}}},"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":26,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":29,"column":5}},{"start":{"line":26,"column":4},"end":{"line":29,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":34,"column":7}},{"start":{"line":32,"column":6},"end":{"line":34,"column":7}}]},"3":{"loc":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},{"start":{"line":40,"column":4},"end":{"line":42,"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":1,"21":1,"22":0,"23":1,"24":2,"25":2,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":1,"3":1,"4":2,"5":2,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,1]}}
,"/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":18},"end":{"line":17,"column":50}},"8":{"start":{"line":18,"column":20},"end":{"line":18,"column":38}},"9":{"start":{"line":19,"column":25},"end":{"line":19,"column":46}},"10":{"start":{"line":20,"column":23},"end":{"line":20,"column":51}},"11":{"start":{"line":21,"column":21},"end":{"line":21,"column":51}},"12":{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},"13":{"start":{"line":23,"column":6},"end":{"line":23,"column":70}},"14":{"start":{"line":25,"column":19},"end":{"line":25,"column":58}},"15":{"start":{"line":26,"column":4},"end":{"line":26,"column":18}},"16":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"17":{"start":{"line":31,"column":6},"end":{"line":31,"column":47}},"18":{"start":{"line":33,"column":4},"end":{"line":33,"column":39}},"19":{"start":{"line":3,"column":0},"end":{"line":35,"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":42},"end":{"line":27,"column":3}}},"3":{"name":"(anonymous_11)","decl":{"start":{"line":29,"column":10},"end":{"line":29,"column":20}},"loc":{"start":{"line":29,"column":34},"end":{"line":34,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":25},"end":{"line":19,"column":32}},"type":"binary-expr","locations":[{"start":{"line":19,"column":25},"end":{"line":19,"column":32}},{"start":{"line":19,"column":36},"end":{"line":19,"column":46}}]},"1":{"loc":{"start":{"line":20,"column":33},"end":{"line":20,"column":43}},"type":"cond-expr","locations":[{"start":{"line":20,"column":33},"end":{"line":20,"column":43}},{"start":{"line":20,"column":46},"end":{"line":20,"column":51}}]},"2":{"loc":{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":24,"column":5}},{"start":{"line":22,"column":4},"end":{"line":24,"column":5}}]},"3":{"loc":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},{"start":{"line":30,"column":4},"end":{"line":32,"column":5}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":3,"5":3,"6":2,"7":3,"8":3,"9":3,"10":3,"11":3,"12":3,"13":0,"14":3,"15":3,"16":3,"17":1,"18":2,"19":1},"f":{"0":2,"1":2,"2":3,"3":3},"b":{"0":[3,2],"1":[2,1],"2":[0,3],"3":[1,2]}}
,"/home/circleci/project/src/types.ts": {"path":"/home/circleci/project/src/types.ts","statementMap":{"0":{"start":{"line":7,"column":0},"end":{"line":12,"column":1}},"1":{"start":{"line":16,"column":4},"end":{"line":16,"column":24}},"2":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"3":{"start":{"line":14,"column":0},"end":{"line":21,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":2},"end":{"line":null,"column":-1}},"loc":{"start":{"line":15,"column":2},"end":{"line":18,"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":3,"column":0},"end":{"line":3,"column":57}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"3":{"start":{"line":7,"column":15},"end":{"line":7,"column":17}},"4":{"start":{"line":8,"column":15},"end":{"line":8,"column":36}},"5":{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},"6":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"7":{"start":{"line":11,"column":6},"end":{"line":11,"column":44}},"8":{"start":{"line":14,"column":2},"end":{"line":14,"column":35}},"9":{"start":{"line":6,"column":0},"end":{"line":15,"column":1}},"10":{"start":{"line":19,"column":17},"end":{"line":19,"column":19}},"11":{"start":{"line":20,"column":15},"end":{"line":20,"column":33}},"12":{"start":{"line":21,"column":2},"end":{"line":27,"column":3}},"13":{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},"14":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"15":{"start":{"line":24,"column":8},"end":{"line":24,"column":84}},"16":{"start":{"line":28,"column":2},"end":{"line":28,"column":16}},"17":{"start":{"line":18,"column":0},"end":{"line":29,"column":1}},"18":{"start":{"line":33,"column":23},"end":{"line":33,"column":35}},"19":{"start":{"line":34,"column":2},"end":{"line":40,"column":3}},"20":{"start":{"line":35,"column":4},"end":{"line":35,"column":71}},"21":{"start":{"line":36,"column":4},"end":{"line":36,"column":55}},"22":{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},"23":{"start":{"line":38,"column":6},"end":{"line":38,"column":28}},"24":{"start":{"line":41,"column":2},"end":{"line":41,"column":68}},"25":{"start":{"line":42,"column":2},"end":{"line":42,"column":16}},"26":{"start":{"line":32,"column":0},"end":{"line":43,"column":1}}},"fnMap":{"0":{"name":"writeFile","decl":{"start":{"line":6,"column":0},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":62},"end":{"line":15,"column":1}}},"1":{"name":"validateOutput","decl":{"start":{"line":18,"column":0},"end":{"line":18,"column":30}},"loc":{"start":{"line":18,"column":69},"end":{"line":29,"column":1}}},"2":{"name":"loadConfig","decl":{"start":{"line":32,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":32,"column":0},"end":{"line":43,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{"line":10,"column":4},"end":{"line":12,"column":5}}]},"1":{"loc":{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":26,"column":5}},{"start":{"line":22,"column":4},"end":{"line":26,"column":5}}]},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{"line":23,"column":6},"end":{"line":25,"column":7}}]},"3":{"loc":{"start":{"line":23,"column":10},"end":{"line":23,"column":26}},"type":"binary-expr","locations":[{"start":{"line":23,"column":10},"end":{"line":23,"column":26}},{"start":{"line":23,"column":30},"end":{"line":23,"column":44}}]},"4":{"loc":{"start":{"line":34,"column":2},"end":{"line":40,"column":3}},"type":"if","locations":[{"start":{"line":34,"column":2},"end":{"line":40,"column":3}},{"start":{"line":34,"column":2},"end":{"line":40,"column":3}}]},"5":{"loc":{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},{"start":{"line":37,"column":4},"end":{"line":39,"column":5}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":1,"10":3,"11":3,"12":3,"13":4,"14":2,"15":1,"16":3,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":1},"f":{"0":0,"1":3,"2":0},"b":{"0":[0,0],"1":[2,2],"2":[1,1],"3":[2,1],"4":[0,0],"5":[0,0]}}
}

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

const rewriter_1 = require("./rewriter");
const resolvers_1 = require("./resolvers");
const utils_1 = require("./utils");

@@ -17,5 +16,5 @@ const inputParser_1 = require("./inputParser");

const args = parser.parseArgs();
const config = utils_1.loadConfig();
let document;
try {
// TODO Load external resolvers
const contents = fs.readFileSync('env.yml', 'utf8');

@@ -28,3 +27,3 @@ document = inputParser_1.parse(contents, args.stage);

}
const rewriter = new rewriter_1.Rewriter(resolvers_1.resolvers);
const rewriter = new rewriter_1.Rewriter(config);
rewriter.rewrite(document).then(result => {

@@ -31,0 +30,0 @@ const errors = utils_1.validateOutput(document, result);

@@ -16,5 +16,5 @@ "use strict";

exports.resolvers = {
cft: (argument) => __awaiter(this, void 0, void 0, function* () {
cft: (argument, config) => __awaiter(this, void 0, void 0, function* () {
if (!AWS.config.region) {
AWS.config.update({ region: 'us-east-1' });
AWS.config.update({ region: config.awsRegion });
}

@@ -50,4 +50,4 @@ const cft = new aws_sdk_1.CloudFormation();

}),
cred: (argument) => __awaiter(this, void 0, void 0, function* () {
const credstash = new Credstash({ awsOpts: { region: 'us-east-1' } });
cred: (argument, config) => __awaiter(this, void 0, void 0, function* () {
const credstash = new Credstash({ awsOpts: { region: config.awsRegion } });
const promisified = util_1.promisify(credstash.getSecret);

@@ -54,0 +54,0 @@ return promisified({ name: argument })

@@ -12,4 +12,4 @@ "use strict";

class Rewriter {
constructor(resolvers) {
this.resolvers = resolvers;
constructor(config) {
this.config = config;
}

@@ -37,3 +37,3 @@ rewrite(document) {

}
const result = yield resolver(innerValue);
const result = yield resolver(innerValue, this.config);
return result;

@@ -44,5 +44,5 @@ });

if (!name) {
return this.resolvers['constant'];
return this.config.resolvers['constant'];
}
return this.resolvers[name];
return this.config.resolvers[name];
}

@@ -49,0 +49,0 @@ }

@@ -6,2 +6,9 @@ "use strict";

exports.InputDocument = InputDocument;
class Config {
constructor() {
this.resolvers = {};
this.awsRegion = 'us-east-1';
}
}
exports.Config = Config;
//# sourceMappingURL=types.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const types_1 = require("./types");
const resolvers_1 = require("./resolvers");
function writeFile(document) {

@@ -28,2 +30,15 @@ let output = '';

exports.validateOutput = validateOutput;
function loadConfig() {
let config = new types_1.Config();
if (fs.existsSync(`./env.js`)) {
console.info(`Loading configuration from ${process.cwd()}/env.js`);
config = require(`${process.cwd()}/env`);
if (!config.resolvers) {
config.resolvers = {};
}
}
config.resolvers = Object.assign({}, config.resolvers, resolvers_1.resolvers);
return config;
}
exports.loadConfig = loadConfig;
//# sourceMappingURL=utils.js.map
{
"name": "dotenvi",
"version": "0.2.0",
"version": "0.3.0",
"author": "Ben Ross",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -54,5 +54,18 @@ # dotenvi

Note that any AWS references (cred, cft, etc...) are currently hard-coded to us-east-1.
In order to override default configuration, you can supply a `env.js` located next to your `env.yml`. The format of this file is as follows:
```javascript
{
awsRegion: '<aws-region>',
resolvers: {
test: value => {
// transformation
return transformed-value; // or promise
}
}
}
```
Resolvers specified in this file will allow you to expand on the current set of resolvers included in dotenvi (e.g., `env`, `cft`, etc...). In the above example, the resolver `test` will match all references that look like `${test:some-value}`.
## Discussion

@@ -74,5 +87,4 @@

1. Support for user-defined resolvers (e.g., other than `cft` and `env`).
2. Allow for `dotenvi` to replace `dotenv`, if desired, by skipping the `.env`-generation step.
3. Support for references embedded within a configuration value (e.g., `foo-${env:BAR}` --> `foo-bar` if BAR=bar)
4. Support recursive reference calls (e.g., `${env:${env:FOO}}`)
1. Allow for `dotenvi` to replace `dotenv`, if desired, by skipping the `.env`-generation step.
2. Support for references embedded within a configuration value (e.g., `foo-${env:BAR}` --> `foo-bar` if BAR=bar)
3. Support recursive reference calls (e.g., `${env:${env:FOO}}`)

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

import { resolvers } from './resolvers';
import { writeFile, validateOutput } from './utils';
import { writeFile, validateOutput, loadConfig } from './utils';
import { parse } from './inputParser';

@@ -18,8 +18,8 @@

});
const args = parser.parseArgs();
const config = loadConfig();
let document: InputDocument;
try {
// TODO Load external resolvers
const contents = fs.readFileSync('env.yml', 'utf8')

@@ -31,3 +31,4 @@ document = parse(contents, args.stage);

}
const rewriter = new Rewriter(resolvers);
const rewriter = new Rewriter(config);
rewriter.rewrite(document).then(result => {

@@ -34,0 +35,0 @@ const errors = validateOutput(document, result);

import * as AWS from 'aws-sdk';
import { CloudFormation, Config } from 'aws-sdk';
import { CloudFormation } from 'aws-sdk';
import { DescribeStacksOutput } from 'aws-sdk/clients/cloudformation';
import { promisify } from 'util';
const Credstash = require('nodecredstash');
import { ResolverMap } from './types';
import { ResolverMap, Config } from './types';
const Credstash = require('nodecredstash');
export const resolvers: ResolverMap = {
cft: async (argument: string) => {
cft: async (argument: string, config: Config) => {
if (!AWS.config.region) {
AWS.config.update({ region: 'us-east-1' });
AWS.config.update({ region: config.awsRegion });
}

@@ -48,4 +48,4 @@ const cft = new CloudFormation();

},
cred: async (argument: string) => {
const credstash = new Credstash({ awsOpts: { region: 'us-east-1' } });
cred: async (argument: string, config: Config) => {
const credstash = new Credstash({ awsOpts: { region: config.awsRegion } });
const promisified = promisify(credstash.getSecret);

@@ -52,0 +52,0 @@ return promisified({ name: argument })

@@ -16,3 +16,3 @@ const { Rewriter } = require('./rewriter');

const rewriter = new Rewriter(resolvers);
const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then((output) => {

@@ -31,3 +31,3 @@ expect(output['explicit']).toBe(output['implicit']);

const rewriter = new Rewriter(resolvers);
const rewriter = new Rewriter({ resolvers: resolvers });
return rewriter.rewrite(document).then((output) => {

@@ -34,0 +34,0 @@ expect(output['test']).toBe('hello');

@@ -1,5 +0,5 @@

import { ResolverMap, Document, InputDocument } from './types';
import { Document, InputDocument, Config } from './types';
export class Rewriter {
constructor(private resolvers: ResolverMap) { }
constructor(private config: Config) { }

@@ -25,3 +25,3 @@ async rewrite(document: InputDocument): Promise<Document> {

}
const result = await resolver(innerValue);
const result = await resolver(innerValue, this.config);
return result;

@@ -32,6 +32,6 @@ }

if (!name) {
return this.resolvers['constant'];
return this.config.resolvers['constant'];
}
return this.resolvers[name];
return this.config.resolvers[name];
}
}

@@ -1,10 +0,21 @@

export type ResolverMap = { [name: string]: (arg: string) => Promise<string> };
export type ResolverFunction = (arg: string, config: Config) => Promise<string>;
export type ResolverMap = {
[name: string]: ResolverFunction
};
export type Document = { [name: string]: string }
export class InputDocument {
[name: string]: {
value: string,
value: string;
optional?: boolean
}
}
export class Config {
constructor() {
this.resolvers = {};
this.awsRegion = 'us-east-1';
}
awsRegion: string;
resolvers: ResolverMap
}

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

'environment': {
value: '${env:this_should_not_be_defined',
value: '${env:this_should_not_be_defined}',
optional: true

@@ -39,0 +39,0 @@ }

import * as fs from 'fs';
import { Document, InputDocument } from './types';
import { Document, InputDocument, Config } from './types';
import { resolvers } from './resolvers';
export function writeFile(document: { [name: string]: string }) {

@@ -28,1 +30,15 @@ let output = '';

}
export function loadConfig(): Config {
let config: Config = new Config();
if (fs.existsSync(`./env.js`)) {
console.info(`Loading configuration from ${process.cwd()}/env.js`);
config = require(`${process.cwd()}/env`) as Config;
if (!config.resolvers) {
config.resolvers = {};
}
}
config.resolvers = Object.assign({}, config.resolvers, resolvers);
return 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