1
1
'use strict' ;
2
- var meld = require ( 'meld' ) ;
2
+ var fs = require ( 'fs' ) ;
3
+ var path = require ( 'path' ) ;
4
+
5
+ var Plugins = require ( "eslint/lib/config/plugins" ) ;
6
+
3
7
var docs = require ( './docs' ) ;
4
8
var Config = require ( "eslint/lib/config" ) ;
5
9
var ConfigUpgrader = require ( './config_upgrader' ) ;
6
10
7
- var supportedPlugins = [ 'react' , 'babel' ] ;
8
11
9
- module . exports = function patcher ( eslint ) {
12
+ module . exports = function patcher ( engine ) {
10
13
11
- meld . around ( eslint . CLIEngine , 'loadPlugins' , function ( joinPoint ) {
12
- var pluginNames = joinPoint . args [ 0 ] ;
13
- var filteredPluginNames = pluginNames . filter ( function ( pluginName ) {
14
- return supportedPlugins . indexOf ( pluginName ) >= 0 ;
15
- } ) ;
16
- return joinPoint . proceed ( filteredPluginNames ) ;
17
- } ) ;
14
+ Plugins . loadAll = function ( pluginNames ) {
15
+ for ( var index in pluginNames ) {
16
+ var name = pluginNames [ index ] ;
18
17
19
- meld . around ( eslint . CLIEngine , 'addPlugin' , function ( ) {
20
- return ;
21
- } ) ;
18
+ try {
19
+ Plugins . load ( name ) ;
20
+ console . error ( '>>>> Plugin loaded' , name ) ;
21
+ } catch ( e ) {
22
+ console . error ( '>>>> Problem loading plugin' , name ) ;
23
+ }
24
+ }
25
+
26
+ }
22
27
23
- // meld.around(eslint.CLIEngine.Config, 'loadPackage', function(joinPoint) {
24
- // var filePath = joinPoint.args[0];
25
- // if (filePath.match(/^eslint-config-airbnb.*/)) {
26
- // return joinPoint.proceed();
27
- // } else {
28
- // return {};
29
- // }
30
- // });
31
28
32
29
const originalGetConfig = Config . prototype . getConfig ;
33
30
Config . prototype . getConfig = function ( filePath ) {
@@ -37,7 +34,8 @@ module.exports = function patcher(eslint) {
37
34
return configUpgrader . upgrade ( originalConfig ) ;
38
35
} ;
39
36
40
- eslint . docs = docs ;
37
+ engine . docs = docs ;
38
+
41
39
42
- return eslint ;
40
+ return engine ;
43
41
} ;
0 commit comments