{"action":"created","issue":{"url":"https://api.github.com/repos/planttheidea/isit.js/issues/1","labels_url":"https://api.github.com/repos/planttheidea/isit.js/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/planttheidea/isit.js/issues/1/comments","events_url":"https://api.github.com/repos/planttheidea/isit.js/issues/1/events","html_url":"https://github.com/planttheidea/isit.js/issues/1","id":113135618,"number":1,"title":"lib size","user":{"login":"avalanche1","id":10534563,"avatar_url":"https://avatars.githubusercontent.com/u/10534563?v=3","gravatar_id":"","url":"https://api.github.com/users/avalanche1","html_url":"https://github.com/avalanche1","followers_url":"https://api.github.com/users/avalanche1/followers","following_url":"https://api.github.com/users/avalanche1/following{/other_user}","gists_url":"https://api.github.com/users/avalanche1/gists{/gist_id}","starred_url":"https://api.github.com/users/avalanche1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/avalanche1/subscriptions","organizations_url":"https://api.github.com/users/avalanche1/orgs","repos_url":"https://api.github.com/users/avalanche1/repos","events_url":"https://api.github.com/users/avalanche1/events{/privacy}","received_events_url":"https://api.github.com/users/avalanche1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-24T04:40:34Z","updated_at":"2015-10-24T11:14:18Z","closed_at":null,"body":"Hi!\r\nIsn't your lib size is too big compared to original is.js?"},"comment":{"url":"https://api.github.com/repos/planttheidea/isit.js/issues/comments/150785044","html_url":"https://github.com/planttheidea/isit.js/issues/1#issuecomment-150785044","issue_url":"https://api.github.com/repos/planttheidea/isit.js/issues/1","id":150785044,"user":{"login":"planttheidea","id":9438233,"avatar_url":"https://avatars.githubusercontent.com/u/9438233?v=3","gravatar_id":"","url":"https://api.github.com/users/planttheidea","html_url":"https://github.com/planttheidea","followers_url":"https://api.github.com/users/planttheidea/followers","following_url":"https://api.github.com/users/planttheidea/following{/other_user}","gists_url":"https://api.github.com/users/planttheidea/gists{/gist_id}","starred_url":"https://api.github.com/users/planttheidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/planttheidea/subscriptions","organizations_url":"https://api.github.com/users/planttheidea/orgs","repos_url":"https://api.github.com/users/planttheidea/repos","events_url":"https://api.github.com/users/planttheidea/events{/privacy}","received_events_url":"https://api.github.com/users/planttheidea/received_events","type":"User","site_admin":false},"created_at":"2015-10-24T11:14:18Z","updated_at":"2015-10-24T11:14:18Z","body":"Yes, it is bigger than the original is.js, but that is an outcome of splitting out all of the functions into individual files for standalone import access. I'll explain below, but first a comparison of the gzipped minified file (how the browser receives it) size:\r\n* is.js: 4.7kb\r\n* isit.js: 8.0 kb\r\n\r\nIn the original is.js, the all / any / not functions were all built via loop, and by having everything inside of a single closure then the variable declarations could be held to a minimum due to scope inheritance. In order to facilitate importing the functions individually, I needed to create separate files for every function, which are then compiled via webpack into the final files in the dist/ folder. \r\n\r\n\r\nSomething like this:\r\n\r\n```\r\nimport isitBoolean from \"isitjs/lib/boolean\";\r\n```\r\n\r\nIs impossible with is.js (in that you only import the boolean function instead of the entire library), however a use case like that is much more common for someone using Webpack to compile their project than someone downloading the file and including it as a script tag, and that architecture was even discussed [in one of the issues on is.js](https://github.com/arasatasaygin/is.js/issues/10). In that scenario, you would only bring in what you need versus the entire library, which can easily result in much smaller final project size than if you brought in the entire library to use one or two functions.\r\n\r\nBottom line, yes it is larger, in fact almost twice the size after minification and gzipping. There are benefits to that approach, but if the benefits of a 3.3kb smaller file outweigh those benefits for your project then I'd stick with is.js."}}