atom/atom — pull request #4042 by nathansobo (2014-11-04 00:55:45+00:00)
Title: Make deprecated SpacePen view exports available as a library

This PR removes the following views from core and makes them available in the [atom-space-pen-views][https://github.com/atom/atom-space-pen-views] library on npm.

* TextEditorView
* ScrollView
* SelectListView

These views are now based on a new version of SpacePen that uses custom elements to provide attach/detach hooks instead of relying on patches to jQuery DOM manipulation in atom/atom, which will be going away. They should be able to be used pretty much exactly as the old views were, except that simulated DOM attachment won't trigger attach hooks.

For the time being we need to continue to export a version of these views that behaves exactly the same, including a [bunch of Atom-specific extensions](https://github.com/atom/atom/blob/master/src/space-pen-extensions.coffee) to SpacePen and jQuery that don't really belong in the extracted libraries. I've solved the problem by injecting Atom's extended version of SpacePen/jQuery into the prototype of these views when they are imported. I also needed to enable the jQuery-style attach hooks (rather than custom-element-based hooks) for the exported views.

### Tasks
* [x] Extract views from core
* [x] Extract CSS from core
* [ ] Get specs passing
* [ ] Document changes to SpacePen
* [ ] Write a readme for atom-space-pen-views npm