{"action":"created","issue":{"url":"https://api.github.com/repos/theme-tools/theme-tools/issues/10","repository_url":"https://api.github.com/repos/theme-tools/theme-tools","labels_url":"https://api.github.com/repos/theme-tools/theme-tools/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/theme-tools/theme-tools/issues/10/comments","events_url":"https://api.github.com/repos/theme-tools/theme-tools/issues/10/events","html_url":"https://github.com/theme-tools/theme-tools/issues/10","id":238351430,"number":10,"title":"Improve config merge approach","user":{"login":"EvanLovely","id":569699,"avatar_url":"https://avatars5.githubusercontent.com/u/569699?v=4","gravatar_id":"","url":"https://api.github.com/users/EvanLovely","html_url":"https://github.com/EvanLovely","followers_url":"https://api.github.com/users/EvanLovely/followers","following_url":"https://api.github.com/users/EvanLovely/following{/other_user}","gists_url":"https://api.github.com/users/EvanLovely/gists{/gist_id}","starred_url":"https://api.github.com/users/EvanLovely/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EvanLovely/subscriptions","organizations_url":"https://api.github.com/users/EvanLovely/orgs","repos_url":"https://api.github.com/users/EvanLovely/repos","events_url":"https://api.github.com/users/EvanLovely/events{/privacy}","received_events_url":"https://api.github.com/users/EvanLovely/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"EvanLovely","id":569699,"avatar_url":"https://avatars5.githubusercontent.com/u/569699?v=4","gravatar_id":"","url":"https://api.github.com/users/EvanLovely","html_url":"https://github.com/EvanLovely","followers_url":"https://api.github.com/users/EvanLovely/followers","following_url":"https://api.github.com/users/EvanLovely/following{/other_user}","gists_url":"https://api.github.com/users/EvanLovely/gists{/gist_id}","starred_url":"https://api.github.com/users/EvanLovely/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EvanLovely/subscriptions","organizations_url":"https://api.github.com/users/EvanLovely/orgs","repos_url":"https://api.github.com/users/EvanLovely/repos","events_url":"https://api.github.com/users/EvanLovely/events{/privacy}","received_events_url":"https://api.github.com/users/EvanLovely/received_events","type":"User","site_admin":false},"assignees":[{"login":"EvanLovely","id":569699,"avatar_url":"https://avatars5.githubusercontent.com/u/569699?v=4","gravatar_id":"","url":"https://api.github.com/users/EvanLovely","html_url":"https://github.com/EvanLovely","followers_url":"https://api.github.com/users/EvanLovely/followers","following_url":"https://api.github.com/users/EvanLovely/following{/other_user}","gists_url":"https://api.github.com/users/EvanLovely/gists{/gist_id}","starred_url":"https://api.github.com/users/EvanLovely/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EvanLovely/subscriptions","organizations_url":"https://api.github.com/users/EvanLovely/orgs","repos_url":"https://api.github.com/users/EvanLovely/repos","events_url":"https://api.github.com/users/EvanLovely/events{/privacy}","received_events_url":"https://api.github.com/users/EvanLovely/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2017-06-25T00:24:06Z","updated_at":"2017-07-17T02:00:29Z","closed_at":null,"body":"The sass plugin default config has this in it:\r\n\r\n```js\r\nconst defaultConfig = {\r\n  autoPrefixerBrowsers: [\r\n    'last 2 versions',\r\n    'IE >= 10',\r\n  ],\r\n};\r\n```\r\n\r\nAnd in my project I use this config:\r\n\r\n```js\r\nconst config = {\r\n  autoPrefixerBrowsers: [\r\n    'last 2 versions',\r\n  ],\r\n};\r\n```\r\n\r\nSince we're using Lodash's `merge` (via `@theme-tools/core`) to merge the two together, we basically get the default config above. Ideally, all of `autoPrefixerBrowsers` would overwritten when in the user config, so the first instinct is to simply use `Object.assign`, but then we get into issues concerning nested config like `sassdoc`: \r\n\r\n```js\r\nconst defaultConfig = {\r\n  src: [\r\n    'scss/**/*.scss',\r\n  ],\r\n  // more options here...\r\n  sassdoc: {\r\n    enabled: false,\r\n    dest: 'dest/sassdoc',\r\n    verbose: false,\r\n    basePath: '',\r\n    exclude: [],\r\n    theme: 'default',\r\n    sort: [\r\n      'file',\r\n      'group',\r\n      'line>',\r\n    ],\r\n  },\r\n};\r\n```\r\n\r\nIdeally, the user could get set `config.sassdoc.enabled` to `true` and then have those other defaults set that are inside the `sassdoc` object."},"comment":{"url":"https://api.github.com/repos/theme-tools/theme-tools/issues/comments/315655242","html_url":"https://github.com/theme-tools/theme-tools/issues/10#issuecomment-315655242","issue_url":"https://api.github.com/repos/theme-tools/theme-tools/issues/10","id":315655242,"user":{"login":"sghoweri","id":1617209,"avatar_url":"https://avatars6.githubusercontent.com/u/1617209?v=4","gravatar_id":"","url":"https://api.github.com/users/sghoweri","html_url":"https://github.com/sghoweri","followers_url":"https://api.github.com/users/sghoweri/followers","following_url":"https://api.github.com/users/sghoweri/following{/other_user}","gists_url":"https://api.github.com/users/sghoweri/gists{/gist_id}","starred_url":"https://api.github.com/users/sghoweri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sghoweri/subscriptions","organizations_url":"https://api.github.com/users/sghoweri/orgs","repos_url":"https://api.github.com/users/sghoweri/repos","events_url":"https://api.github.com/users/sghoweri/events{/privacy}","received_events_url":"https://api.github.com/users/sghoweri/received_events","type":"User","site_admin":false},"created_at":"2017-07-17T02:00:29Z","updated_at":"2017-07-17T02:00:29Z","body":"@EvanLovely something like #12? Is that about right?"}}
{"actor":{"display_login":"sghoweri"}}