api.js 688 B

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * @fileoverview Expose out ESLint and CLI to require.
  3. * @author Ian Christian Myers
  4. */
  5. "use strict";
  6. const { CLIEngine } = require("./cli-engine");
  7. const { Linter } = require("./linter");
  8. const { RuleTester } = require("./rule-tester");
  9. const { SourceCode } = require("./source-code");
  10. module.exports = {
  11. Linter,
  12. CLIEngine,
  13. RuleTester,
  14. SourceCode
  15. };
  16. // DOTO: remove deprecated API.
  17. let deprecatedLinterInstance = null;
  18. Object.defineProperty(module.exports, "linter", {
  19. enumerable: false,
  20. get() {
  21. if (!deprecatedLinterInstance) {
  22. deprecatedLinterInstance = new Linter();
  23. }
  24. return deprecatedLinterInstance;
  25. }
  26. });