{"action":"created","issue":{"url":"https://api.github.com/repos/saguijs/sagui/issues/166","repository_url":"https://api.github.com/repos/saguijs/sagui","labels_url":"https://api.github.com/repos/saguijs/sagui/issues/166/labels{/name}","comments_url":"https://api.github.com/repos/saguijs/sagui/issues/166/comments","events_url":"https://api.github.com/repos/saguijs/sagui/issues/166/events","html_url":"https://github.com/saguijs/sagui/issues/166","id":163208923,"number":166,"title":"Extensibility","user":{"login":"SeeThruHead","id":8273939,"avatar_url":"https://avatars.githubusercontent.com/u/8273939?v=3","gravatar_id":"","url":"https://api.github.com/users/SeeThruHead","html_url":"https://github.com/SeeThruHead","followers_url":"https://api.github.com/users/SeeThruHead/followers","following_url":"https://api.github.com/users/SeeThruHead/following{/other_user}","gists_url":"https://api.github.com/users/SeeThruHead/gists{/gist_id}","starred_url":"https://api.github.com/users/SeeThruHead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SeeThruHead/subscriptions","organizations_url":"https://api.github.com/users/SeeThruHead/orgs","repos_url":"https://api.github.com/users/SeeThruHead/repos","events_url":"https://api.github.com/users/SeeThruHead/events{/privacy}","received_events_url":"https://api.github.com/users/SeeThruHead/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saguijs/sagui/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"pirelenito","id":6001,"avatar_url":"https://avatars.githubusercontent.com/u/6001?v=3","gravatar_id":"","url":"https://api.github.com/users/pirelenito","html_url":"https://github.com/pirelenito","followers_url":"https://api.github.com/users/pirelenito/followers","following_url":"https://api.github.com/users/pirelenito/following{/other_user}","gists_url":"https://api.github.com/users/pirelenito/gists{/gist_id}","starred_url":"https://api.github.com/users/pirelenito/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pirelenito/subscriptions","organizations_url":"https://api.github.com/users/pirelenito/orgs","repos_url":"https://api.github.com/users/pirelenito/repos","events_url":"https://api.github.com/users/pirelenito/events{/privacy}","received_events_url":"https://api.github.com/users/pirelenito/received_events","type":"User","site_admin":false},"assignees":[{"login":"pirelenito","id":6001,"avatar_url":"https://avatars.githubusercontent.com/u/6001?v=3","gravatar_id":"","url":"https://api.github.com/users/pirelenito","html_url":"https://github.com/pirelenito","followers_url":"https://api.github.com/users/pirelenito/followers","following_url":"https://api.github.com/users/pirelenito/following{/other_user}","gists_url":"https://api.github.com/users/pirelenito/gists{/gist_id}","starred_url":"https://api.github.com/users/pirelenito/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pirelenito/subscriptions","organizations_url":"https://api.github.com/users/pirelenito/orgs","repos_url":"https://api.github.com/users/pirelenito/repos","events_url":"https://api.github.com/users/pirelenito/events{/privacy}","received_events_url":"https://api.github.com/users/pirelenito/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2016-06-30T16:31:29Z","updated_at":"2016-07-02T08:00:34Z","closed_at":null,"body":"I've been hacking away at something with similar goals as this for a while. Mostly abandoned actually due to lack of time. Came across Sagui on twitter today and it looks like it could mostly fill my needs with some tweaking.\r\n\r\nDifferences being, no sass support, postcss, node.js testing only via tape, flowtyping, and a bunch of react packages, and some utility functions.\r\n\r\nI was wondering if there's a good way to hook into sagui in order to modify/extend it. Would be nice for my company to be able to install one module and have everything setup. But it might also be better for the overall ecosystem to be able to install sagui and then install sagui plugins alongside it that modify how it works internally. (Other possibilities include different linting setups, additional/modified scripts, etc)\r\n\r\nLet me know if you've thought about this kind of stuff already and maybe we can work something up."},"comment":{"url":"https://api.github.com/repos/saguijs/sagui/issues/comments/230089867","html_url":"https://github.com/saguijs/sagui/issues/166#issuecomment-230089867","issue_url":"https://api.github.com/repos/saguijs/sagui/issues/166","id":230089867,"user":{"login":"xaviervia","id":381614,"avatar_url":"https://avatars.githubusercontent.com/u/381614?v=3","gravatar_id":"","url":"https://api.github.com/users/xaviervia","html_url":"https://github.com/xaviervia","followers_url":"https://api.github.com/users/xaviervia/followers","following_url":"https://api.github.com/users/xaviervia/following{/other_user}","gists_url":"https://api.github.com/users/xaviervia/gists{/gist_id}","starred_url":"https://api.github.com/users/xaviervia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xaviervia/subscriptions","organizations_url":"https://api.github.com/users/xaviervia/orgs","repos_url":"https://api.github.com/users/xaviervia/repos","events_url":"https://api.github.com/users/xaviervia/events{/privacy}","received_events_url":"https://api.github.com/users/xaviervia/received_events","type":"User","site_admin":false},"created_at":"2016-07-02T08:00:33Z","updated_at":"2016-07-02T08:00:33Z","body":"### SASS\r\n\r\nI'm curious of if it would be OK for you having SASS available but not using it. Sagui does actually support plain CSS, and since I don't consider SASS necessary for most of my personal projects I've been using Sagui with plain CSS and postCSS, ignoring SASS. Just [adding files with `.css`](https://github.com/saguijs/sagui/blob/master/src/webpack/loaders/style.js#L62) extension works.\r\n\r\n### Flowtype\r\n\r\ntl;dr We are adding support soon\r\n\r\nI also would like that added ASAP, we are working on that. Currently the salient issue is a compatibility problem with StandardJS: by switching the eslint parser to be `babel-eslint`, flowtypes are successfully ignored for linting, but the linter does not show any warnings for flow specific rules. \r\n\r\nI've been trying with https://github.com/gajus/eslint-plugin-flowtype . I added a [branch in the `babel-preset-sagui` repo](https://github.com/saguijs/babel-preset-sagui/blob/try-eslint-plugin-flowtype/test/fixture.js) were you can see an example of running the flowtype plugin against a [file with lint](https://github.com/saguijs/babel-preset-sagui/blob/try-eslint-plugin-flowtype/test/fixture.js), which for some reason shows no warnings. Cloning the babel-preset-sagui repo and running `npm test` runs the linter against that file.\r\n\r\nFor now we might go ahead with adding support without flowtypes linting, but any pointers on what the issue might be are greatly appreciated.\r\n\r\nLet's continue this discussion in the flow type issue: https://github.com/saguijs/sagui/issues/33\r\n\r\n### Tape.js\r\n\r\nI don't fully understand why this would be a big issue @pirelenito. In many of my projects that don't use webpack I build everything with babel, including the tests, then run the tests by running a particular js entrypoint with node (something like `babel test.js `). The same could be done with sagui rather easily, that is, running a particular file as the entrypoint with `babel-node`, using the same babel presets. This works for me because the test library I'm using allows for [running the suite programmatically](https://github.com/xaviervia/washington#basic-example), so shell commands are not needed. As long as Tape or whatever is being used works without the need for using the CLI, it should be the same. \r\n\r\n> Note: running would have to be done with `babel-node` instead of webpack because otherwise it wouldn't be possible to get errors pointing to the correct line numbers.\r\n\r\nAs I see it, this could be a flag to set in the `sagui.config.js`, something like:\r\n\r\n```javascript\r\ntest: {\r\n  runner: {\r\n    type: 'node',\r\n    entrypoint: 'test'\r\n  }\r\n}\r\n```\r\n\r\nThe default would be:\r\n\r\n```javascript\r\ntest: {\r\n  runner: {\r\n    type: 'karma'\r\n  }\r\n}\r\n```\r\n\r\nOf course the assumption is that files that are to be tested with Node don't include CSS or any other type of webpack modules: if those are used, the runner should be karma.\r\n\r\nI'd personally like this idea a lot because libraries such as tape favor small and focused unit testing, which is what I prefer, and also karma takes a lot of time to startup. \r\n\r\n> Maybe we should break up this discussion into it's own thread as well."}}
{"actor":{"display_login":"xaviervia"}}