You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
3.9 KiB

4 years ago
  1. Filing tickets against loglevel
  2. ===============================
  3. If you'd like to file a bug or a feature request for loglevel, the best option is to [open an issue on Github](https://github.com/pimterry/loglevel/issues/new).
  4. If you're filing a feature request, please remember:
  5. * Feature requests significantly expanding the scope of loglevel outside the description in [the readme](https://github.com/pimterry/loglevel/blob/master/README.md) will probably be rejected.
  6. * Features that can't be meaningfully implemented in a cross-environment compatible manner won't be implemented.
  7. * Please check the previously opened issues to see if somebody else has suggested it first.
  8. * Consider submitting a pull request to add the feature instead, if you're confident it fits within the above
  9. If you're filing a bug, please remember:
  10. * To provide detailed steps to reproduce the behaviour
  11. * If possible, provide a Jasmine test which reproduces the behaviour
  12. * Please specify the exact details of the environment in which it fails: OS + Environment (i.e. Browser or Node) + version
  13. * Consider submitting a pull request to fix the bug instead
  14. Helping develop loglevel
  15. ================================
  16. If you'd like to help develop loglevel further, please submit a pull request! I'm very keen to improve loglevel further, and good pull requests will be enthusiastically merged.
  17. Before submitting a pull request to fix a bug or add a new feature, please check the lists above to ensure it'll be accepted. Browser compatibility is particularly important here; if you add a feature or fix a bug which breaks things on other browsers it will not be merged, no matter how awesome it may be.
  18. To be more specific, before submitting your pull request please ensure:
  19. * You haven't broken the existing test suite in any obvious browsers (at least check latest IE/FF/Chrome - automatic saucelabs tests for this are coming soon too)
  20. * You've added relevant tests for the bug you're fixing/the new feature you're adding/etc, which pass in all the relevant browsers
  21. * JSHint is happy with your new code
  22. * You've updated the API docs (in README.md) to detail any changes you've made to the public interface
  23. * Your change is backward compatible (or you've explicitly said if it's not; this isn't great, but will be considered)
  24. * You haven't changed any files in dist/ (these are auto-generated, and should only be changed on release)
  25. Project structure
  26. -----------------
  27. The core project code is all in lib/loglevel.js, and this should be the only file you need to touch for functional changes themselves.
  28. The released code is in dist/*.js, and should not be touched by anything except releases
  29. The test suite is entirely in test/*.js:
  30. * Every file ending in '-test.js' is a unit test, is written in RequireJS, and should pass in any environment
  31. * global-integration.js and node-integration.js are quick integration smoke tests for node and for browser global usage
  32. * test-helpers.js contains some test utilities
  33. * manual-test.html is a test page which includes the current loglevel build, so you can manually check it works in a given browser
  34. How to make your change and submit it
  35. -------------------------------------
  36. 1. Fork loglevel
  37. 2. Clone your fork locally
  38. 3. Create a branch from master for your change
  39. 4. Write some tests in /test for your change, as relevant
  40. 5. Make your code changes in /lib/loglevel.js
  41. 6. Check your code all passes (run `grunt`) - if you have any issues try running `grunt jasmine:requirejs:src:build` (or a different test build instead of 'requirejs': see the jasmine config in Gruntfile.js) and debugging the generated _SpecRunner.html in a browser
  42. 7. Commit your changes
  43. 8. Open a pull request back to master in loglevel
  44. Reporting security issues
  45. -------------------------
  46. Tidelift acts as the security contact for loglevel. Issues can be reported to security@tidelift.com, see https://tidelift.com/security for more details.