eslint-loader
Advanced tools
Comparing version 0.1.0 to 0.2.0
@@ -0,3 +1,8 @@ | ||
# 0.2.0 - 2015-01-23 | ||
- Upgrade eslint to 0.12.0 | ||
- Enable loading of eslint config from webpack config, `.eslintrc`, or `package.json` | ||
# 0.1.0 - 2014-12-05 | ||
✨ |
90
index.js
"use strict"; | ||
var assign = require("object-assign") | ||
var eslint = require("eslint").linter | ||
var eslintConfig = require("eslint/conf/eslint.json") | ||
var Config = require("eslint/lib/config"); | ||
// var loaderUtils = require("loader-utils") | ||
@@ -18,8 +17,2 @@ // | ||
// merge default config + user config | ||
config = { | ||
env: assign({}, eslintConfig.env, config.env), | ||
rules: assign({}, eslintConfig.rules, config.rules) | ||
} | ||
eslint.verify(input, config).forEach(function eslintMessageCallback(m) { | ||
@@ -49,57 +42,2 @@ messages.push( | ||
/** | ||
* configuration loader | ||
* | ||
* @param {Object} webpack | ||
* @param {Function} callback | ||
*/ | ||
function loadRcConfig(webpack, callback) { | ||
var fs = require("fs") | ||
var RcLoader = require("rcloader") | ||
var rcLoader = new RcLoader(".eslintrc", null, { | ||
loader: function(path) { return path } | ||
}) | ||
var stripJsonComments = require("strip-json-comments") | ||
if (typeof callback !== "function") { | ||
var path = rcLoader.for(this.resourcePath) | ||
if (typeof path !== "string") { | ||
// no .rc found | ||
return {} | ||
} | ||
else { | ||
webpack.addDependency(path) | ||
var file = fs.readFileSync(path, "utf8") | ||
return JSON.parse(stripJsonComments(file)) | ||
} | ||
} | ||
else { | ||
rcLoader.for(webpack.resourcePath, function rcLoaderCallback(err, path) { | ||
if (err) { | ||
throw err | ||
} | ||
if (typeof path !== "string") { | ||
// no .rc found | ||
return callback(null, {}) | ||
} | ||
webpack.addDependency(path) | ||
fs.readFile(path, "utf8", function loadRcConfigFileCallback(err, file) { | ||
var options | ||
if (!err) { | ||
try { | ||
options = JSON.parse(stripJsonComments(file)) | ||
} | ||
catch (e) { | ||
err = e | ||
} | ||
} | ||
callback(err, options) | ||
}) | ||
}) | ||
} | ||
} | ||
/** | ||
* webpack loader | ||
@@ -114,25 +52,7 @@ * | ||
this.cacheable() | ||
var callback = this.async() | ||
// sync | ||
if (!callback) { | ||
var config = loadRcConfig(this) | ||
lint(input, config, this) | ||
return input | ||
} | ||
// async | ||
loadRcConfig(this, function loadRcConfigCallback(err, config) { | ||
if (err) { | ||
return callback(err) | ||
} | ||
try { | ||
lint(input, config, this) | ||
} | ||
catch (e) { | ||
return callback(e) | ||
} | ||
callback(null, input) | ||
}.bind(this)) | ||
// sync | ||
var config = new Config(this.options.eslint).getConfig() | ||
lint(input, config, this) | ||
return input | ||
} |
{ | ||
"name": "eslint-loader", | ||
"version": "0.1.0", | ||
"version": "0.2.0", | ||
"description": "eslint loader (for webpack)", | ||
@@ -27,3 +27,3 @@ "keywords": [ | ||
"peerDependencies": { | ||
"eslint": "^0.10.0" | ||
"eslint": "^0.12.0" | ||
}, | ||
@@ -37,3 +37,3 @@ "dependencies": { | ||
"devDependencies": { | ||
"eslint": "^0.10.0", | ||
"eslint": "^0.12.0", | ||
"jscs": "^1.8.1", | ||
@@ -40,0 +40,0 @@ "tape": "^3.0.3", |
@@ -1,4 +0,4 @@ | ||
# eslint-loader [![Build Status](http://img.shields.io/travis/eslint/eslint-loader.svg)](https://travis-ci.org/eslint/eslint-loader) | ||
# eslint-loader [![Build Status](http://img.shields.io/travis/MoOx/eslint-loader.svg)](https://travis-ci.org/MoOx/eslint-loader) | ||
> Webpack loader for cssnext | ||
> eslint loader for webpack | ||
@@ -45,4 +45,4 @@ ## Install | ||
## [Changelog](CHANGELOG) | ||
## [Changelog](CHANGELOG.md) | ||
## [License](LICENSE) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
0
4229
49