From aac3d7a559627b526a007130ec6a54bc0831fbe3 Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Tue, 21 Oct 2014 15:15:34 -0700 Subject: [PATCH 01/10] Deprecate space-pen exports --- exports/atom.coffee | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index 5d707553d..c4e62e5d1 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -13,19 +13,31 @@ module.exports = unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE {$, $$, $$$, View} = require '../src/space-pen-extensions' - module.exports.$ = $ - module.exports.$$ = $$ - module.exports.$$$ = $$$ module.exports.TextEditorView = require '../src/text-editor-view' module.exports.ScrollView = require '../src/scroll-view' module.exports.SelectListView = require '../src/select-list-view' module.exports.Task = require '../src/task' - module.exports.View = View module.exports.WorkspaceView = require '../src/workspace-view' module.exports.Workspace = require '../src/workspace' module.exports.React = require 'react-atom-fork' module.exports.Reactionary = require 'reactionary-atom-fork' + Object.defineProperty module.exports, '$', get: -> + deprecate "Please require `jquery` instead: `$ = require 'jquery'`. Add `\"jquery\": \"^2\"` to your package dependencies." + $ + + Object.defineProperty module.exports, '$$', get: -> + deprecate "Please require `space-pen` instead: `{$$} = require 'space-pen'`. Add `\"space-pen\": \"^3\"` to your package dependencies." + $$ + + Object.defineProperty module.exports, '$$$', get: -> + deprecate "Please require `space-pen` instead: `{$$$} = require 'space-pen'`. Add `\"space-pen\": \"^3\"` to your package dependencies." + $$$ + + Object.defineProperty module.exports, 'View', get: -> + deprecate "Please require `space-pen` instead: `{View} = require 'space-pen'`. Add `\"space-pen\": \"^3\"` to your package dependencies." + View + Object.defineProperty module.exports, 'Git', get: -> deprecate "Please require `GitRepository` instead of `Git`: `{GitRepository} = require 'atom'`" module.exports.GitRepository From 2faf8bc57b6ec3a9990c3db19f7ae201db901086 Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Tue, 21 Oct 2014 15:27:09 -0700 Subject: [PATCH 02/10] Deprecate exported react --- exports/atom.coffee | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index c4e62e5d1..638d9b6e7 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -11,17 +11,14 @@ module.exports = # 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 unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE - {$, $$, $$$, View} = require '../src/space-pen-extensions' - module.exports.TextEditorView = require '../src/text-editor-view' module.exports.ScrollView = require '../src/scroll-view' module.exports.SelectListView = require '../src/select-list-view' module.exports.Task = require '../src/task' module.exports.WorkspaceView = require '../src/workspace-view' module.exports.Workspace = require '../src/workspace' - module.exports.React = require 'react-atom-fork' - module.exports.Reactionary = require 'reactionary-atom-fork' + {$, $$, $$$, View} = require '../src/space-pen-extensions' Object.defineProperty module.exports, '$', get: -> deprecate "Please require `jquery` instead: `$ = require 'jquery'`. Add `\"jquery\": \"^2\"` to your package dependencies." $ @@ -38,6 +35,14 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE deprecate "Please require `space-pen` instead: `{View} = require 'space-pen'`. Add `\"space-pen\": \"^3\"` to your package dependencies." View + Object.defineProperty module.exports, 'React', get: -> + deprecate "Please require `react-atom-fork` instead: `React = require 'react-atom-fork'`. Add `\"react-atom-fork\": \"^0.11\"` to your package dependencies." + require 'react-atom-fork' + + Object.defineProperty module.exports, 'Reactionary', get: -> + deprecate "Please require `reactionary` instead: `Reactionary = require 'reactionary'`. Add `\"reactionary\": \"^0.9\"` to your package dependencies." + require 'reactionary' + Object.defineProperty module.exports, 'Git', get: -> deprecate "Please require `GitRepository` instead of `Git`: `{GitRepository} = require 'atom'`" module.exports.GitRepository From edd48d71ae3b594f3b42889ded2156b004d70f9b Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Tue, 21 Oct 2014 15:33:04 -0700 Subject: [PATCH 03/10] Add event-kit to exports --- exports/atom.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/exports/atom.coffee b/exports/atom.coffee index 638d9b6e7..7258141ef 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -1,4 +1,5 @@ {Point, Range} = require 'text-buffer' +{Emitter, Disposable, CompositeDisposable} = require 'event-kit' {deprecate} = require 'grim' module.exports = @@ -7,6 +8,9 @@ module.exports = GitRepository: require '../src/git-repository' Point: Point Range: Range + Emitter: Emitter + Disposable: Disposable + CompositeDisposable: CompositeDisposable # 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 From 09327eae7598ef342ea0d2debe2f52f860950ebb Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Tue, 21 Oct 2014 15:37:25 -0700 Subject: [PATCH 04/10] Add jquery to dependencies. --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index a8b9c83f0..c712e5d1c 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "guid": "0.0.10", "jasmine-json": "~0.0", "jasmine-tagged": "^1.1.2", + "jquery": "^2.1.1", "less-cache": "0.19.0", "mixto": "^1", "mkdirp": "0.3.5", From a63e058fa5829440a5050523d20d9c5b2fbd560a Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Wed, 12 Nov 2014 16:32:51 -0800 Subject: [PATCH 05/10] Deprecate all the views --- exports/atom.coffee | 66 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 11 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index 7258141ef..9f32aaf45 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -15,30 +15,78 @@ module.exports = # 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 unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE - module.exports.TextEditorView = require '../src/text-editor-view' - module.exports.ScrollView = require '../src/scroll-view' - module.exports.SelectListView = require '../src/select-list-view' module.exports.Task = require '../src/task' module.exports.WorkspaceView = require '../src/workspace-view' module.exports.Workspace = require '../src/workspace' {$, $$, $$$, View} = require '../src/space-pen-extensions' Object.defineProperty module.exports, '$', get: -> - deprecate "Please require `jquery` instead: `$ = require 'jquery'`. Add `\"jquery\": \"^2\"` to your package dependencies." + deprecate """ + Please require `jquery` instead: + `$ = require 'jquery'` + Add `"jquery": "^2"` to your package dependencies. + """ $ Object.defineProperty module.exports, '$$', get: -> - deprecate "Please require `space-pen` instead: `{$$} = require 'space-pen'`. Add `\"space-pen\": \"^3\"` to your package dependencies." + deprecate """ + Please require `space-pen` instead: + `{$$} = require 'space-pen'` + Add `"space-pen": "^3"` to your package dependencies. + """ $$ Object.defineProperty module.exports, '$$$', get: -> - deprecate "Please require `space-pen` instead: `{$$$} = require 'space-pen'`. Add `\"space-pen\": \"^3\"` to your package dependencies." + deprecate """ + Please require `space-pen` instead: + `{$$$} = require 'space-pen'` + Add `"space-pen": "^3"` to your package dependencies. + """ $$$ Object.defineProperty module.exports, 'View', get: -> - deprecate "Please require `space-pen` instead: `{View} = require 'space-pen'`. Add `\"space-pen\": \"^3\"` to your package dependencies." + deprecate """ + Please require `space-pen` instead: + `{View} = require 'space-pen'` + Add `"space-pen": "^3"` to your package dependencies. + """ View + + Object.defineProperty module.exports, 'EditorView', get: -> + deprecate """ + Please require `TextEditorView` from `atom-space-pen-view` instead: + `{TextEditorView} = require 'atom-space-pen-views'` + Add `"atom-space-pen-views": "^0"` to your package dependencies. + """ + require '../src/text-editor-view' + + Object.defineProperty module.exports, 'TextEditorView', get: -> + deprecate """ + Please require `TextEditorView` from `atom-space-pen-view` instead: + `{TextEditorView} = require 'atom-space-pen-views'` + Add `"atom-space-pen-views": "^0"` to your package dependencies. + """ + require '../src/text-editor-view' + + Object.defineProperty module.exports, 'ScrollView', get: -> + deprecate """ + Please require `ScrollView` from `atom-space-pen-view` instead: + `{ScrollView} = require 'atom-space-pen-views'` + Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views + Add `"atom-space-pen-views": "^0"` to your package dependencies. + """ + require '../src/scroll-view' + + Object.defineProperty module.exports, 'SelectListView', get: -> + deprecate """ + Please require `SelectListView` from `atom-space-pen-view` instead: + `{SelectListView} = require 'atom-space-pen-views'` + Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views + Add `"atom-space-pen-views": "^0"` to your package dependencies. + """ + require '../src/select-list-view' + Object.defineProperty module.exports, 'React', get: -> deprecate "Please require `react-atom-fork` instead: `React = require 'react-atom-fork'`. Add `\"react-atom-fork\": \"^0.11\"` to your package dependencies." require 'react-atom-fork' @@ -50,7 +98,3 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE Object.defineProperty module.exports, 'Git', get: -> deprecate "Please require `GitRepository` instead of `Git`: `{GitRepository} = require 'atom'`" module.exports.GitRepository - -Object.defineProperty module.exports, 'EditorView', get: -> - deprecate "Please require `TextEditorView` instead of `EditorView`: `{TextEditorView} = require 'atom'`" - module.exports.TextEditorView From f7951aa57c74ebf44c1f79210064d10bc61e3b7e Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Wed, 12 Nov 2014 16:41:25 -0800 Subject: [PATCH 06/10] Update messages so they are less painful in specs --- exports/atom.coffee | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index 9f32aaf45..cc754b503 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -22,14 +22,19 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE {$, $$, $$$, View} = require '../src/space-pen-extensions' Object.defineProperty module.exports, '$', get: -> deprecate """ - Please require `jquery` instead: + Requiring `$` from `atom` is no longer supported. + If you are using `space-pen`, please require `$` from `space-pen`. Otherwise require `jquery` instead: + `{$} = require 'space-pen'` + or `$ = require 'jquery'` - Add `"jquery": "^2"` to your package dependencies. + Add `"space-pen": "^3"` to your package dependencies. + Or add `"jquery": "^2"` to your package dependencies. """ $ Object.defineProperty module.exports, '$$', get: -> deprecate """ + Requiring `$$` from `atom` is no longer supported. Please require `space-pen` instead: `{$$} = require 'space-pen'` Add `"space-pen": "^3"` to your package dependencies. @@ -38,6 +43,7 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE Object.defineProperty module.exports, '$$$', get: -> deprecate """ + Requiring `$$$` from `atom` is no longer supported. Please require `space-pen` instead: `{$$$} = require 'space-pen'` Add `"space-pen": "^3"` to your package dependencies. @@ -46,15 +52,16 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE Object.defineProperty module.exports, 'View', get: -> deprecate """ + Requiring `View` from `atom` is no longer supported. Please require `space-pen` instead: `{View} = require 'space-pen'` Add `"space-pen": "^3"` to your package dependencies. """ View - Object.defineProperty module.exports, 'EditorView', get: -> deprecate """ + Requiring `EditorView` from `atom` is no longer supported. Please require `TextEditorView` from `atom-space-pen-view` instead: `{TextEditorView} = require 'atom-space-pen-views'` Add `"atom-space-pen-views": "^0"` to your package dependencies. @@ -63,6 +70,7 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE Object.defineProperty module.exports, 'TextEditorView', get: -> deprecate """ + Requiring `TextEditorView` from `atom` is no longer supported. Please require `TextEditorView` from `atom-space-pen-view` instead: `{TextEditorView} = require 'atom-space-pen-views'` Add `"atom-space-pen-views": "^0"` to your package dependencies. @@ -71,6 +79,7 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE Object.defineProperty module.exports, 'ScrollView', get: -> deprecate """ + Requiring `ScrollView` from `atom` is no longer supported. Please require `ScrollView` from `atom-space-pen-view` instead: `{ScrollView} = require 'atom-space-pen-views'` Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views @@ -80,6 +89,7 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE Object.defineProperty module.exports, 'SelectListView', get: -> deprecate """ + Requiring `SelectListView` from `atom` is no longer supported. Please require `SelectListView` from `atom-space-pen-view` instead: `{SelectListView} = require 'atom-space-pen-views'` Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views From a525d5267b3a9f1390cd23a3118108e5604ae861 Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Wed, 12 Nov 2014 17:22:21 -0800 Subject: [PATCH 07/10] Deprecate the Workspace classes --- exports/atom.coffee | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index cc754b503..46e177f15 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -16,10 +16,24 @@ module.exports = # only be exported when not running as a child node process unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE module.exports.Task = require '../src/task' - module.exports.WorkspaceView = require '../src/workspace-view' - module.exports.Workspace = require '../src/workspace' - {$, $$, $$$, View} = require '../src/space-pen-extensions' + + Object.defineProperty module.exports, 'Workspace', get: -> + deprecate """ + Requiring `Workspace` from `atom` is no longer supported. + If you need this, please open an issue on + https://github.com/atom/atom/issues/new + And let us know what you are using it for. + """ + require '../src/workspace' + + Object.defineProperty module.exports, 'WorkspaceView', get: -> + deprecate """ + Requiring `WorkspaceView` from `atom` is no longer supported. + Use `atom.view.getView(atom.workspace)` instead. + """ + require '../src/workspace-view' + Object.defineProperty module.exports, '$', get: -> deprecate """ Requiring `$` from `atom` is no longer supported. From dde69f8da44a9bca11929a386983991fae5f806a Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Wed, 12 Nov 2014 17:23:03 -0800 Subject: [PATCH 08/10] Remove the docs readme It is not used and just displays mis-information --- docs/README.md | 59 ++------------------------------------------------ 1 file changed, 2 insertions(+), 57 deletions(-) diff --git a/docs/README.md b/docs/README.md index aad58d93e..e8863f520 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,60 +1,5 @@ -# Welcome to the Atom API Documentation +# Welcome to the Atom Docs ![Atom](https://cloud.githubusercontent.com/assets/72919/2874231/3af1db48-d3dd-11e3-98dc-6066f8bc766f.png) -## FAQ - -### Where do I start? - -Check out [EditorView][EditorView] and [Editor][Editor] classes for a good -overview of the main editor API. - -### How do I access these classes? - -Check out the [Atom][Atom] class docs to see what globals are available and -what they provide. - -You can also require many of these classes in your package via: - -```coffee -{EditorView} = require 'atom' -``` - -The classes available from `require 'atom'` are: - * [BufferedProcess][BufferedProcess] - * [BufferedNodeProcess][BufferedNodeProcess] - * [EditorView][EditorView] - * [Git][Git] - * [Point][Point] - * [Range][Range] - * [ScrollView][ScrollView] - * [SelectListView][SelectListView] - * [View][View] - * [WorkspaceView][WorkspaceView] - * [Workspace][Workspace] - -### How do I create a package? - -You probably want to read the [creating a package][creating-a-package] -doc first and come back here when you are done. - -### Where are the node docs? - -Atom ships with node 0.11.10 and the comprehensive node API docs are available -[here][node-docs]. - -[Atom]: ../classes/Atom.html -[BufferedProcess]: ../classes/BufferedProcess.html -[BufferedNodeProcess]: ../classes/BufferedNodeProcess.html -[Editor]: ../classes/Editor.html -[EditorView]: ../classes/EditorView.html -[Git]: ../classes/Git.html -[Point]: ../classes/Point.html -[Range]: ../classes/Range.html -[ScrollView]: ../classes/ScrollView.html -[SelectListView]: ../classes/SelectListView.html -[View]: ../classes/View.html -[WorkspaceView]: ../classes/WorkspaceView.html -[Workspace]: ../classes/Workspace.html -[creating-a-package]: https://atom.io/docs/latest/creating-a-package -[node-docs]: http://nodejs.org/docs/v0.11.10/api +TODO: Write when docs move to a dedicated repo. From b1eceb03dc04ee3d1a3f2d6bc46f6f374de9d338 Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Mon, 17 Nov 2014 16:51:29 -0800 Subject: [PATCH 09/10] Export TextEditor --- exports/atom.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom.coffee b/exports/atom.coffee index 46e177f15..8ecf77097 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -6,6 +6,7 @@ module.exports = BufferedNodeProcess: require '../src/buffered-node-process' BufferedProcess: require '../src/buffered-process' GitRepository: require '../src/git-repository' + TextEditor: require '../src/text-editor' Point: Point Range: Range Emitter: Emitter From a42b560c2481a7e745a021bc10b4649c49eefac3 Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Mon, 17 Nov 2014 17:38:11 -0800 Subject: [PATCH 10/10] Dont allow TextEditor export in tasks --- exports/atom.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index 8ecf77097..f22e0c802 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -6,7 +6,6 @@ module.exports = BufferedNodeProcess: require '../src/buffered-node-process' BufferedProcess: require '../src/buffered-process' GitRepository: require '../src/git-repository' - TextEditor: require '../src/text-editor' Point: Point Range: Range Emitter: Emitter @@ -17,6 +16,8 @@ module.exports = # only be exported when not running as a child node process unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE module.exports.Task = require '../src/task' + module.exports.TextEditor = require '../src/text-editor' + {$, $$, $$$, View} = require '../src/space-pen-extensions' Object.defineProperty module.exports, 'Workspace', get: ->