{"analyzedAt":"2022-06-28T23:16:16.039Z","collected":{"metadata":{"name":"webcompiler","scope":"unscoped","version":"7.0.1","description":"Lint, type-check, compile, package and gzip JavaScript (ES6 + Flow static types + JSX), for the browser as well as NodeJS; lint, compile, auto-prefix, minify and gzip SASS.","keywords":["lint","typecheck","compile","package","uglify","minify","uglify","es6","es7","javascript","sass","jsx","react","ecosystem-react","flow","gzip","jsdoc","syntax highlighter","isomorphic console.log","markdown","watcher","yaml"],"date":"2017-04-21T09:37:29.070Z","author":{"name":"Eugene Kuzmenko"},"publisher":{"username":"aljey","email":"aljey1972@gmail.com"},"maintainers":[{"username":"aljey","email":"aljey1972@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/thealjey/webcompiler.git"},"links":{"npm":"https://www.npmjs.com/package/webcompiler","homepage":"https://thealjey.github.io/webcompiler","repository":"https://github.com/thealjey/webcompiler","bugs":"https://github.com/thealjey/webcompiler/issues"},"license":"MIT","dependencies":{"autoprefixer":"^6.7.7","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.2","babel-loader":"^6.4.1","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-es2016":"^6.24.1","babel-preset-es2017":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-2":"^6.24.1","babel-runtime":"^6.23.0","cheerio":"^0.22.0","clean-stack":"^1.1.1","codemirror":"^5.25.2","cross-spawn":"^5.1.0","docdash":"^0.4.0","error-stack-parser":"^2.0.0","eslint":"^3.19.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-flowtype":"^2.32.1","eslint-plugin-jsx-a11y":"^4.0.0","eslint-plugin-lodash":"^2.4.0","eslint-plugin-react":"^6.10.3","fb-watchman":"^2.0.0","flow-bin":"^0.44.2","js-yaml":"^3.8.3","jsdoc":"^3.4.3","jsdom":"^9.12.0","json-loader":"^0.5.4","lodash":"^4.17.4","memory-fs":"^0.4.1","mkdirp":"^0.5.1","node-sass":"^4.5.2","node-sass-import-once":"^1.2.0","null-loader":"^0.1.1","postcss":"^5.2.17","react":"^15.5.4","react-dom":"^15.5.4","react-hot-loader":"^1.3.1","remarkable":"^1.7.1","serve-static":"^1.12.1","stylelint":"^7.10.1","stylelint-config-standard":"^16.0.0","stylelint-scss":"^1.4.4","tiny-lr":"^1.0.3","webpack":"^1.15.0","webpack-dev-server":"^1.16.3"},"devDependencies":{"chai":"^3.5.0","coveralls":"^2.13.0","isparta":"^4.0.0","mocha":"^3.2.0","mt-changelog":"^0.6.2","proxyquire":"^1.7.11","release-script":"^1.0.2","sinon":"^2.1.0","sinon-chai":"^2.9.0"},"releases":[{"from":"2022-05-29T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2022-03-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-12-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2020-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0}],"hasTestScript":true,"hasSelectiveFiles":true,"readme":"# webcompiler\n\n[![NPM](https://nodei.co/npm/webcompiler.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/webcompiler/)\n\nLint, type-check, compile, package and gzip JavaScript (ES6 + Flow static types + JSX), for the browser as well as\nNodeJS; lint, compile, auto-prefix, minify and gzip SASS.\n\n**[Project Home](https://github.com/thealjey/webcompiler) | [API Docs](https://thealjey.github.io/webcompiler) | [Changelog](https://github.com/thealjey/webcompiler/blob/master/CHANGELOG.md) | [Discord]**\n\n[![Node.js](https://img.shields.io/node/v/webcompiler.svg)](https://www.npmjs.com/package/webcompiler)\n[![Version](https://badge.fury.io/js/webcompiler.svg)](https://badge.fury.io/js/webcompiler)\n[![Build Status](https://travis-ci.org/thealjey/webcompiler.svg?branch=master)](https://travis-ci.org/thealjey/webcompiler)\n[![Coverage Status](https://coveralls.io/repos/thealjey/webcompiler/badge.svg?branch=master&service=github)](https://coveralls.io/github/thealjey/webcompiler?branch=master)\n[![Code Climate](https://codeclimate.com/github/thealjey/webcompiler/badges/gpa.svg)](https://codeclimate.com/github/thealjey/webcompiler)\n[![Dependency Status](https://www.versioneye.com/user/projects/589118066a0b7c003b834564/badge.svg)](https://www.versioneye.com/user/projects/589118066a0b7c003b834564)\n[![Downloads](https://img.shields.io/npm/dm/webcompiler.svg)](https://www.npmjs.com/package/webcompiler)\n[![License](https://img.shields.io/npm/l/webcompiler.svg)](https://opensource.org/licenses/MIT)\n\nWebpack is an amazing tool, however it requires a lot of boilerplate to properly setup and configure, especially when\nyou use it on more than one project.\n\nESLint is constantly updated, new rules are added, APIs are changed. Properly configuring it is a routine and time\nconsuming task, which is completely impractical to perform on each project separately.\n\nAPIs are sometimes changed without any change in functionality (e.g. Babel 5 vs Babel 6).\n\nThis project aims to abstract all of those problems out of the development of applications and provide the simplest possible interface, pre-configured with everything set up and ready to use right after the installation.\n\n`babel-polyfill`, `autoprefixer`, fast rebuilds with caching in development, production tree shaking, optimizations and compression that care even about your users public cache, everything completely automatic and baked into the library.\n\nHave fun :)\n\n### Feedback\n\nWhat did you struggle with?\n\nAny feedback on **[Discord]** would be greatly appreciated. It does not require registration and won't take more than a few minutes of your time.\n\n### Prerequisites\n\n1. [Watchman] \\(only required by the `watch` function and the `DevServer` class; you don't need to know how it works, all you need to do is install it)\n\n### A note about [Facebook Flow]\n\n[Facebook Flow] is a static analysis tool used to check your JavaScript code for possible errors\nat compile time.\n\nIt is very smart at understanding your program code, however you should not rely on it being smart enough to just\nunderstand your external dependencies too.\n\nIt can do that, the problem is that a typical NodeJS project can contain hundreds of NPM modules, with thousands of\nJavaScript files.\n\nIt is a very complicated task, even for a tool that smart, to parse all of them and stay performant enough to not only\nbe usable but useful as well.\n\nWhich is why it must not be allowed to even try to understand any files that reside in a `node_modules` directory.\n\n[Interface Files](http://flowtype.org/docs/declarations.html) must be used instead.\n\nYou can find examples of such interface files, as well as the interface file for the tool itself, in the `interfaces` directory.\n\n### Installation\n\n```bash\nnpm i webcompiler --save-dev\n```\n\n### Production builds\n\nBy default all compilation is done in development mode.\n\nIf you wish to compile for production just set the `NODE_ENV` environment variable to `\"production\"`, the following\nadditional actions will be performed by the compiler:\n\n1. advanced compilation time optimizations\n2. minification (only `fe` in `production` mode)\n3. g-zip compression (only `fe` in `production` mode)\n\n### Important!\n\nThe resulting JavaScript and CSS files from `fe` in `production` mode are gzip compressed for performance\n(see [Gzip Components](https://developer.yahoo.com/performance/rules.html#gzip)), so make sure to provide a\n**\"Content-Encoding\"** header to the browser (e.g. `res.setHeader('Content-Encoding', 'gzip');`).\n\n### Troubleshooting\n\n#### `watch`\n\n1. If you've installed [Watchman] on OSX with homebrew and you notice that it suddenly stopped working, try the following:\n  * `launchctl unload -F ~/Library/LaunchAgents/com.github.facebook.watchman.plist`\n  * `rm -rf /usr/local/var/run/watchman/`\n  * reinstall [Watchman] completely\n  * if that does not solve your problem or the above steps do not apply to you report a bug describing your operating system version, [Watchman] version, webcompiler version, and your specific problem\n\n[Discord]: https://discord.gg/0blXIxApyTu9qXno\n[Facebook Flow]: http://flowtype.org/\n[Watchman]: https://facebook.github.io/watchman/docs/install.html"},"npm":{"downloads":[{"from":"2022-06-27T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2022-06-21T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":2},{"from":"2022-05-29T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":20},{"from":"2022-03-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":909},{"from":"2021-12-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":1452},{"from":"2021-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":2919}],"starsCount":0},"github":{"homepage":"https://www.npmjs.com/package/webcompiler","starsCount":8,"forksCount":1,"subscribersCount":2,"issues":{"count":0,"openCount":0,"distribution":{"3600":0,"10800":0,"32400":0,"97200":0,"291600":0,"874800":0,"2624400":0,"7873200":0,"23619600":0,"70858800":0,"212576400":0},"isDisabled":false},"contributors":[{"username":"thealjey","commitsCount":345}],"commits":[{"from":"2022-06-21T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2022-05-29T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2022-03-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-12-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0}],"statuses":[{"context":"coverage/coveralls","state":"success"},{"context":"continuous-integration/travis-ci/push","state":"success"},{"context":"github/pages","state":"success"}]},"source":{"files":{"readmeSize":5192,"testsSize":105963,"hasChangelog":true},"badges":[{"urls":{"original":"https://nodei.co/npm/webcompiler.png?downloadRank=true&downloads=true&stars=true","shields":"https://img.shields.io/npm/v/webcompiler.svg","content":"https://img.shields.io/npm/v/webcompiler.json"},"info":{"service":"npm","type":"version"}},{"urls":{"original":"https://travis-ci.org/thealjey/webcompiler.svg?branch=master","service":"https://api.travis-ci.org/thealjey/webcompiler.svg?branch=master","shields":"https://img.shields.io/travis/thealjey/webcompiler/master.svg","content":"https://img.shields.io/travis/thealjey/webcompiler/master.json"},"info":{"service":"travis","type":"build","modifiers":{"branch":"master"}}},{"urls":{"original":"https://coveralls.io/repos/thealjey/webcompiler/badge.svg?branch=master&service=github","service":"https://coveralls.io/repos/github/thealjey/webcompiler/badge.svg?branch=master","shields":"https://img.shields.io/coveralls/thealjey/webcompiler/master.svg","content":"https://img.shields.io/coveralls/thealjey/webcompiler/master.json"},"info":{"service":"coveralls","type":"coverage","modifiers":{"branch":"master"}}},{"urls":{"original":"https://img.shields.io/npm/dm/webcompiler.svg","shields":"https://img.shields.io/npm/dm/webcompiler.svg","content":"https://img.shields.io/npm/dm/webcompiler.json"},"info":{"service":"npm","type":"downloads","modifiers":{"type":"dm"}}},{"urls":{"original":"https://img.shields.io/npm/l/webcompiler.svg","shields":"https://img.shields.io/npm/l/webcompiler.svg","content":"https://img.shields.io/npm/l/webcompiler.json"},"info":{"service":"npm","type":"license","modifiers":{"type":"l"}}}],"linters":["eslint","stylelint"],"coverage":1,"outdatedDependencies":{"clean-stack":{"required":"^1.1.1","stable":"4.2.0","latest":"4.2.0"},"null-loader":{"required":"^0.1.1","stable":"4.0.1","latest":"4.0.1"},"memory-fs":{"required":"^0.4.1","stable":"0.5.0","latest":"0.5.0"},"docdash":{"required":"^0.4.0","stable":"1.2.0","latest":"1.2.0"},"tiny-lr":{"required":"^1.0.3","stable":"2.0.0","latest":"2.0.0"},"eslint-plugin-lodash":{"required":"^2.4.0","stable":"7.4.0","latest":"7.4.0"},"eslint-plugin-babel":{"required":"^4.1.1","stable":"5.3.1","latest":"5.3.1"},"stylelint-scss":{"required":"^1.4.4","stable":"4.2.0","latest":"4.2.0"},"webpack":{"required":"^1.15.0","stable":"5.73.0","latest":"5.73.0"},"mkdirp":{"required":"^0.5.1","stable":"1.0.4","latest":"0.5.6"},"cross-spawn":{"required":"^5.1.0","stable":"7.0.3","latest":"7.0.3"},"stylelint-config-standard":{"required":"^16.0.0","stable":"26.0.0","latest":"26.0.0"},"remarkable":{"required":"^1.7.1","stable":"2.0.1","latest":"2.0.1"},"js-yaml":{"required":"^3.8.3","stable":"4.1.0","latest":"4.1.0"},"babel-loader":{"required":"^6.4.1","stable":"8.2.5","latest":"8.2.5"},"eslint-plugin-jsx-a11y":{"required":"^4.0.0","stable":"6.6.0","latest":"6.6.0"},"babel-eslint":{"required":"^7.2.2","stable":"10.1.0","latest":"11.0.0-beta.2"},"node-sass":{"required":"^4.5.2","stable":"7.0.1","latest":"7.0.1"},"eslint-plugin-react":{"required":"^6.10.3","stable":"7.30.1","latest":"7.30.1"},"postcss":{"required":"^5.2.17","stable":"8.4.14","latest":"8.4.14"},"flow-bin":{"required":"^0.44.2","stable":"0.181.1","latest":"0.181.1"},"eslint-plugin-flowtype":{"required":"^2.32.1","stable":"8.0.3","latest":"8.0.3"},"stylelint":{"required":"^7.10.1","stable":"14.9.1","latest":"14.9.1"},"webpack-dev-server":{"required":"^1.16.3","stable":"4.9.2","latest":"4.9.2"},"react-hot-loader":{"required":"^1.3.1","stable":"4.13.0","latest":"4.13.0"},"autoprefixer":{"required":"^6.7.7","stable":"10.4.7","latest":"10.4.7"},"eslint":{"required":"^3.19.0","stable":"8.18.0","latest":"8.18.0"},"codemirror":{"required":"^5.25.2","stable":"6.0.0","latest":"5.65.6"},"react":{"required":"^15.5.4","stable":"18.2.0","latest":"18.3.0-next-a4bed4696-20220627"},"jsdom":{"required":"^9.12.0","stable":"20.0.0","latest":"20.0.0"},"react-dom":{"required":"^15.5.4","stable":"18.2.0","latest":"18.3.0-next-a4bed4696-20220627"}}}},"evaluation":{"quality":{"carefulness":0.9999999999999999,"tests":1,"health":0.5,"branding":1},"popularity":{"communityInterest":12,"downloadsCount":303,"downloadsAcceleration":-1.8152968036529682,"dependentsCount":0},"maintenance":{"releasesFrequency":0.9,"commitsFrequency":0.9,"openIssues":0.9,"issuesDistribution":0.9}},"score":{"final":0.6491746618020382,"detail":{"quality":0.9407240221668952,"popularity":0.048569037905101954,"maintenance":0.9998808339576686}}}