const TextBuffer = require('text-buffer') const {Point, Range} = TextBuffer const {File, Directory} = require('pathwatcher') const {Emitter, Disposable, CompositeDisposable} = require('event-kit') const BufferedNodeProcess = require('../src/buffered-node-process') const BufferedProcess = require('../src/buffered-process') const GitRepository = require('../src/git-repository') const Notification = require('../src/notification') const {watchPath} = require('../src/path-watcher') const atomExport = { BufferedNodeProcess, BufferedProcess, GitRepository, Notification, TextBuffer, Point, Range, File, Directory, Emitter, Disposable, CompositeDisposable, watchPath } // Shell integration is required by both Squirrel and Settings-View if (process.platform === 'win32') { Object.defineProperty(atomExport, 'WinShell', { enumerable: true, get () { return require('../src/main-process/win-shell') } }) } // The following classes can't be used from a Task handler and should therefore // only be exported when not running as a child node process if (process.type === 'renderer') { atomExport.Task = require('../src/task') atomExport.TextEditor = require('../src/text-editor') } module.exports = atomExport