question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Update to latest plugin infrastructure

See original GitHub issue

We just released a new plugin generator at https://github.com/feathersjs/generator-feathers-plugin that includes some changes that all other repositories should be updated to as well so that they all share the same infrastructure. Changes for this repository would include:

  • We decided to go with the standard code style with semicolons which will be checked through the semistandard CLI. No separate ESLint configuration necessary. This is open for discussion (the Airbnb style would be another option).
  • Automated changelog using GitHub Changelog Generator: Although the current changelog here points out that it isn’t very useful to just dump commit logs into it we had a good experience with this changelog generator as long as every change is properly submitted as a separate pull request. The main reason for this is that maintaining changelogs by hand for multiple projects can become very tedious in the long term.
  • Rename _spec.js files to .test.js (for consistency with the other repositories)
  • Run CI with Node 4, 6 and latest (the Node versions that Feathers will officially support starting next year)
  • Code coverage reporting to code climate (the reason @ekryski pointed out was because it supports code quality and coverage reports where Coveralls only does coverage)

@eddyystop I can create a pull request with those changes if they are ok for you.

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Reactions:2
  • Comments:12 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
marshallswaincommented, Oct 17, 2016

I’m honestly not too excited about switching to AirBnB’s lint rules. It will require a lot more work and configuration fluff because it gets opinionated about details like where packages should be listed in the package.json, for example. Rather than spending my time learning to deal with that, I’d prefer to use the more sane semistandard. I don’t doubt that there are wonderful benefits to using AirBnB’s styles, but I think it’s really overkill for what we need. Here’s some example output:

> eslint src/. test/. --fix                                                                                                             


/Users/marshall/Sites/feathers/src/application.js                                                                                       
   24:5   error  Assignment to function parameter 'location'            no-param-reassign                                               
   43:16  error  Unexpected dangling '_' in '_setup'                    no-underscore-dangle                                            
   44:7   error  Unexpected dangling '_' in '_setup'                    no-underscore-dangle                                            
   53:9   error  Unexpected dangling '_' in '_isSetup'                  no-underscore-dangle                                            
   62:5   error  Split 'let' declarations into multiple statements      one-var                                                         
   63:7   error  'middleware' is never reassigned. Use 'const' instead  prefer-const                                                    
   63:31  error  Use the rest parameters instead of 'arguments'         prefer-rest-params                                              
   65:16  error  'middleware' is already declared in the upper scope    no-shadow                                                       
   79:23  error  'methods' is already declared in the upper scope       no-shadow                                                       
   85:14  error  Unexpected dangling '_' in '_super'                    no-underscore-dangle                                            
   85:14  error  Use the spread operator instead of '.apply()'          prefer-spread                                                   
   85:38  error  Use the rest parameters instead of 'arguments'         prefer-rest-params                                              
  105:5   error  Unexpected dangling '_' in '_isSetup'                  no-underscore-dangle                                            
  121:20  error  Use the spread operator instead of '.apply()'          prefer-spread                                                   
  121:20  error  Unexpected dangling '_' in '_super'                    no-underscore-dangle                                            
  121:44  error  Use the rest parameters instead of 'arguments'         prefer-rest-params     

/Users/marshall/Sites/feathers/src/index.js                                                                                             
   1:6   error  Unexpected dangling '_' in '_babelPolyfill'  no-underscore-dangle                                                       
   1:31  error  Unexpected require()                         global-require                                                             
   3:1   error  Import in body of module; reorder to top     import/imports-first                                                       
   4:1   error  Import in body of module; reorder to top     import/imports-first                                                       
  12:12  error  Unexpected require()                         global-require                                                             

/Users/marshall/Sites/feathers/src/mixins/event.js                                                                                      
  21:19  error  Unexpected dangling '_' in '_rubberDuck'                no-underscore-dangle                                            
  21:19  error  Assignment to property of function parameter 'service'  no-param-reassign                                               
  27:3   error  Unexpected dangling '_' in '_serviceEvents'             no-underscore-dangle                                            
  27:3   error  Assignment to property of function parameter 'service'  no-param-reassign                                               
  37:26  error  Unexpected dangling '_' in '_serviceEvents'             no-underscore-dangle                                            
  42:7   error  Unexpected dangling '_' in '_serviceEvents'             no-underscore-dangle                                            

/Users/marshall/Sites/feathers/src/mixins/index.js                                                                                      
   3:5   error    Unexpected require()                            global-require                                                        
   4:5   error    Unexpected require()                            global-require                                                        
   5:5   error    Unexpected require()                            global-require                                                        
   9:17  warning  Missing function expression name                func-names                                                            
  10:57  error    Use the rest parameters instead of 'arguments'  prefer-rest-params                                                    
  11:5   error    Use the spread operator instead of '.apply()'   prefer-spread                                                         

/Users/marshall/Sites/feathers/src/mixins/normalizer.js                                                                                 
   9:25  warning  Missing function expression name                func-names                                                            
  10:18  error    Use the spread operator instead of '.apply()'   prefer-spread                                                         
  10:18  error    Unexpected dangling '_' in '_super'             no-underscore-dangle                                                  
  10:63  error    Use the rest parameters instead of 'arguments'  prefer-rest-params          

/Users/marshall/Sites/feathers/src/mixins/promise.js                                                                                    
  7:18  error  Use the spread operator instead of '.apply()'   prefer-spread                                                            
  7:18  error  Unexpected dangling '_' in '_super'             no-underscore-dangle                                                     
  7:42  error  Use the rest parameters instead of 'arguments'  prefer-rest-params                                                       
  8:20  error  Use the rest parameters instead of 'arguments'  prefer-rest-params         

/Users/marshall/Sites/feathers/test/application.test.js                                                                                 
    5:1   error    'socket.io-client' should be listed in the project's dependencies, not devDependencies   import/no-extraneous-depende
ncies                                                                                                                                   
    6:1   error    'request' should be listed in the project's dependencies, not devDependencies            import/no-extraneous-depende
ncies                                                                                                                                   
    8:1   error    'feathers-rest' should be listed in the project's dependencies, not devDependencies      import/no-extraneous-depende
ncies                                                                                                                                   
    9:1   error    'feathers-socketio' should be listed in the project's dependencies, not devDependencies  import/no-extraneous-depende
ncies                                                                                                                                   
   14:25  error    Unexpected require()                                                                     global-require              
   63:26  warning  Missing function expression name                                                         func-names                  
   63:36  error    'path' is already declared in the upper scope                                            no-shadow                   
   85:18  error    'path' is already declared in the upper scope                                            no-shadow                   
  104:21  error    Do not access Object.prototype method 'isPrototypeOf' from target object                 no-prototype-builtins       
  140:50  error    'error' is already declared in the upper scope                                           no-shadow                   
  140:57  error    'data' is already declared in the upper scope                                            no-shadow                   
  164:9   error    Assignment to property of function parameter 'req'                                       no-param-reassign           
  179:60  error    'error' is already declared in the upper scope                                           no-shadow                   
  179:67  error    'response' is already declared in the upper scope                                        no-shadow                   
  179:77  error    'body' is already declared in the upper scope                                            no-shadow                   
  181:17  error    'data' is already declared in the upper scope                                            no-shadow                   
  232:57  error    'error' is already declared in the upper scope                                           no-shadow                   
  232:64  error    'data' is already declared in the upper scope                                            no-shadow                   
  279:19  error    'path' is already declared in the upper scope                                            no-shadow                   
  296:54  error    'error' is already declared in the upper scope                                           no-shadow                   
  296:61  error    'response' is already declared in the upper scope                                        no-shadow                   
  296:71  error    'body' is already declared in the upper scope                                            no-shadow                   
  298:17  error    'data' is already declared in the upper scope                                            no-shadow                   
  320:19  error    'path' is already declared in the upper scope                                            no-shadow       

/Users/marshall/Sites/feathers/test/client.test.js                                                                                      
  52:21  error  Do not access Object.prototype method 'isPrototypeOf' from target object  no-prototype-builtins                         

/Users/marshall/Sites/feathers/test/distributed.test.js                                                                                 
   2:1   error  'socket.io-client' should be listed in the project's dependencies, not devDependencies   import/no-extraneous-dependenci
es                                                                                                                                      
   3:1   error  'feathers-socketio' should be listed in the project's dependencies, not devDependencies  import/no-extraneous-dependenci
es                                                                                                                                      
   4:1   error  'feathers-socketio' should be listed in the project's dependencies, not devDependencies  import/no-extraneous-dependenci
es                                                                                                                                      
   5:1   error  'feathers-rest' should be listed in the project's dependencies, not devDependencies      import/no-extraneous-dependenci
es                                                                                                                                      
  15:11  error  Assignment to property of function parameter 'data'                                      no-param-reassign              

/Users/marshall/Sites/feathers/test/mixins/event.test.js                                                                                
   24:15  error  Unexpected dangling '_' in '_rubberDuck'  no-underscore-dangle                                                         
  172:7   error  Unary operator '++' used                  no-plusplus                                                                  

/Users/marshall/Sites/feathers/test/mixins/normalizer.test.js                                                                           
  9:19  warning  Missing function expression name  func-names                                                                           

✖ 74 problems (70 errors, 4 warnings)               
0reactions
ekryskicommented, Oct 17, 2016

@eddyystop you can add a codeclimate.yml file to exclude paths. https://docs.codeclimate.com/docs/excluding-files-and-folders

Tightening up some of rules it uses is on my radar for the other repos as well. Definitely not a huge priority though given most of the repos have a 4.0 GPA.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Oracle Enterprise Manager Latest Plug-in Update
Enterprise Manager VT 13.2.3 release adds support for the latest Private Cloud Appliance 2.3.1 release. VT Plug-in provides all infrastructure enhancements ...
Read more >
Is there a process to upgrade a plugin when a new version is ...
I am trying to upgrade the MySQL Plugin to the new version and it's not clear how ... Support: Full-Stack Observability (FSO) Infrastructure....
Read more >
VDI plugin and Auto-Update plugin versions - Zoom Support
The auto-update plugin will give priority to the specified version. If the specified version is invalid, the host version will be used to...
Read more >
Upgrade the VM-Series Plugin - Palo Alto Networks
Before upgrading, check the latest Release Notes for details on whether a new VM-Series plugin affects your environment. · Log in to the...
Read more >
Self-Hosted Live Updates are Here - Ionic Blog
With Self-hosted Live Updates, you are now able to distribute web build artifacts through your own infrastructure. That means no more app store ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found