{"push_id":1081204702,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"de5a08727eec54bd3b290aca7b3b1146cd0b56dd","before":"e15e108e69902543870b224eb7b8654ded62e67d","commits":[{"sha":"de5a08727eec54bd3b290aca7b3b1146cd0b56dd","author":{"email":"5613ca5bdc82051dbc3f75fe895cef0e40844bd3@gmail.com","name":"C J Silverio"},"message":"A major change to transform() with tests (#39)\n\n* A major change to transform() with tests\r\n\r\nThe new behavior is documented at the top of lib/transform.js.\r\n\r\n`config` might look like this:\r\n\r\n```js\r\n{\r\n     'var.app.group': 'foo',\r\n     'var.app.group2': 'bar',\r\n     'var.other': 'baz',\r\n     var: 'qux',\r\n     var2: 'yo'\r\n}\r\n```\r\n\r\nWe want the following output:\r\n\r\n```js\r\ntransform(config, 'app', 'group2') => { var: bar, var2: yo }\r\ntransform(config, 'app', 'group') => { var: foo, var2: yo }\r\ntransform(config, 'other', 'some-other-group') => { var: baz, var2: yo }\r\ntransform(config, 'some-other-app') => { var: qux, var2: yo }\r\n```\r\n\r\nKeys not relevant to the app & group specified should be trimmed. Keys that ARE\r\nrelevant remain, but only in their top-level forms. (This is the only form used\r\nby the configuration templates, after all!) In other words, only not-dots key\r\nforms remain in the output.\r\n\r\nWHY?\r\n\r\nIn production, some config keys are set only in fully-qualified versions,\r\nwithout any top level versions. Those keys weren't being looked up. Also, keys\r\nthat were set without group vars being present were being looked up in an unexpected\r\nmanner. E.g., `mail_secret.npm-website` was being resolved to `mail_secret` and NOT\r\nto the set key `mail_secret.npm-website` which existed in etcd!\r\n\r\n* Lint doesn't like my C-isms.","distinct":true,"url":"https://api.github.com/repos/npm/etcetera/commits/de5a08727eec54bd3b290aca7b3b1146cd0b56dd"}]}