Improve packaging, bundling and module boilerplate
Prevent negative interactions with module systems present in injected pages and refactor browserify interactions with angular to increase CommonJS accessibility / legibility and isolate angular module system boilerplate. - Avoid issues due to mis-detected module environments - In the injection script, load only Annotator and jQuery in the global scope and then both removed with `noConflict()`. Both are loaded with browserify-shim, which prevents jQuery from registering itself against require.js, if present (fix #2026). - Be explicit about registration of common cross-frame components (fix #2090). - Lift angular glue into app.coffee. Individual components are exported as CommonJS modules. - Lift Annotator glue into bootstrap.js (renamed hypothesis.js). - Break up all modules that contained multiple services/directives/etc, such as the formHelpers and uiHelpers modules, as well as catch-all files like services.coffee and directives.coffee. For a summary of these movements see the bottom of this commit message. - Rename all services, dropping the -service suffix, to match their injected names. This is consistent with how directives are being treated, and controllers as well (controllers are registered and injected done with the "Controller" suffix). - Move Annotator subclasses into the annotator subdirectory. This change avoids having `Annotator.Host` clash with the `host` service and makes it easy to glob dependencies in assets.yaml to minimally rebuild either the app or the inject. --- Summary of structural reorganisation. Modules that have been trivially renamed (from "foo-service" to "foo") are not included in this list: controllers:AppController app-controller controllers:AnnotationUIController annotation-ui-controller controllers:AnnotationViewerController annotation-viewer-controller controllers:ViewerController widget-controller directives:match directive/match directives:repeatAnim directive/repeat-anim directives:whenscrolled directive/whenscrolled directives/thread:pulse pulse filters:Converter filter/converter filters:momentFilter filter/moment filters:personaFilter filter/persona filters:urlEncodeFilter filter/urlencode guest annotator/guest host annotator/host helpers/form-helpers:createFormHelpers form-respond helpers/form-helpers:formInput directive/form-input helpers/form-helpers:formValidate directive/form-validate helpers/string-helpers:createStringHelpers unicode helpers/tag-helpers tags helpers/time-helpers time helpers/ui-helpers:tabbable directive/tabbable helpers/ui-helpers:tabReveal directive/tab-reveal searchfilters:QueryParser query-parser searchfilters:SearchFilter search-filter searchfilters:StreamFilter stream-filter services:DraftProvider drafts services:ViewFilter view-filter services:renderFactory render session/session-service session streamsearch stream-controller
Showing
Please register or sign in to comment