diff --git a/app/adapters/application.coffee b/app/adapters/application.coffee
index 542c2b9b..89cab34b 100644
--- a/app/adapters/application.coffee
+++ b/app/adapters/application.coffee
@@ -1,4 +1,5 @@
-config = ENV.config
+`import DS from 'ember-data'`
+`import config from 'travis/config/environment'`
Adapter = DS.ActiveModelAdapter.extend
host: config.api_endpoint
@@ -15,5 +16,4 @@ Adapter = DS.ActiveModelAdapter.extend
hash
-
-Travis.ApplicationAdapter = Adapter
+`export default Adapter`
diff --git a/app/adapters/env-var.coffee b/app/adapters/env-var.coffee
index 172a76f1..0707bd2e 100644
--- a/app/adapters/env-var.coffee
+++ b/app/adapters/env-var.coffee
@@ -1,4 +1,5 @@
-ApplicationAdapter = Travis.ApplicationAdapter
+`import Ember from 'ember'`
+`import ApplicationAdapter from 'adapters/application'`
Adapter = ApplicationAdapter.extend
namespace: 'settings'
@@ -22,4 +23,4 @@ Adapter = ApplicationAdapter.extend
this.ajax(this.buildURL(type.typeKey, id, record), "PATCH", { data: data })
-Travis.EnvVarAdapter = Adapter
+`export default Adapter`
diff --git a/app/adapters/ssh-key.coffee b/app/adapters/ssh-key.coffee
index 8450870a..ffbb7839 100644
--- a/app/adapters/ssh-key.coffee
+++ b/app/adapters/ssh-key.coffee
@@ -1,6 +1,5 @@
-get = Ember.get
-
-ApplicationAdapter = Travis.ApplicationAdapter
+`import Ember from 'ember'`
+`import ApplicationAdapter from 'adapters/application'`
Adapter = ApplicationAdapter.extend
namespace: 'settings'
@@ -12,4 +11,4 @@ Adapter = ApplicationAdapter.extend
this.ajax(this.buildURL(type.typeKey, null, record), "POST", { data: data })
-Travis.SshKeyAdapter = Adapter
+`export default Adapter`
diff --git a/app/app.coffee b/app/app.coffee
index d4591424..c29fcc07 100644
--- a/app/app.coffee
+++ b/app/app.coffee
@@ -1,4 +1,9 @@
-config = ENV.config
+`import Ember from 'ember'`
+`import Resolver from 'ember/resolver'`
+`import loadInitializers from 'ember/load-initializers'`
+`import config from './config/environment'`
+
+Ember.MODEL_FACTORY_INJECTIONS = true
App = Ember.Application.extend(Ember.Evented,
LOG_TRANSITIONS: true
@@ -8,6 +13,10 @@ App = Ember.Application.extend(Ember.Evented,
LOG_VIEW_LOOKUPS: true
#LOG_RESOLVER: true
+ modulePrefix: config.modulePrefix
+ podModulePrefix: config.podModulePrefix
+ Resolver: Resolver
+
lookup: ->
@__container__.lookup.apply @__container__, arguments
@@ -118,5 +127,6 @@ App = Ember.Application.extend(Ember.Evented,
created_at: (Date.parse(user.created_at) / 1000) || null
login: user.login
)
+loadInitializers(App, config.modulePrefix)
-window.App = App unless window.App
+`export default App`
diff --git a/app/components/.gitkeep b/app/components/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/app/components/travis-switch.coffee b/app/components/travis-switch.coffee
index 2fa7fe33..a9e98a0c 100644
--- a/app/components/travis-switch.coffee
+++ b/app/components/travis-switch.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Component = Ember.Component.extend
tagName: 'a'
classNames: ['travis-switch']
@@ -20,4 +22,4 @@ Component = Ember.Component.extend
Ember.run.next this, ->
@sendAction('action', target)
-Travis.TravisSwitchComponent = Component
+`export default Component`
diff --git a/app/controllers/.gitkeep b/app/controllers/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/app/controllers/account.coffee b/app/controllers/account.coffee
index 51f0a086..c4c5af45 100644
--- a/app/controllers/account.coffee
+++ b/app/controllers/account.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.ObjectController.extend
allHooks: []
needs: ['currentUser']
@@ -45,4 +47,4 @@ Controller = Ember.ObjectController.extend
@config.show_repos_hint == 'public'
) .property()
-Travis.AccountController = Controller
+`export default Controller`
diff --git a/app/controllers/accounts.coffee b/app/controllers/accounts.coffee
index 0959f1cd..427549ec 100644
--- a/app/controllers/accounts.coffee
+++ b/app/controllers/accounts.coffee
@@ -1,4 +1,6 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
tab: 'accounts'
-Travis.AccountsController = Controller
+`export default Controller`
diff --git a/app/controllers/accounts/info.coffee b/app/controllers/accounts/info.coffee
index 80d9e48b..8d51d797 100644
--- a/app/controllers/accounts/info.coffee
+++ b/app/controllers/accounts/info.coffee
@@ -1,5 +1,7 @@
+`import Ember from 'ember'`
+
Controller = Ember.Controller.extend
needs: ['currentUser', 'repos']
userBinding: 'controllers.currentUser'
-Travis.AccountsInfoController = Controller
+`export default Controller`
diff --git a/app/controllers/auth.coffee b/app/controllers/auth.coffee
index ca123dee..90babea0 100644
--- a/app/controllers/auth.coffee
+++ b/app/controllers/auth.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.Controller.extend()
-Travis.AuthController = Controller
+`export default Controller`
diff --git a/app/controllers/build.coffee b/app/controllers/build.coffee
index 48ea6918..91c14983 100644
--- a/app/controllers/build.coffee
+++ b/app/controllers/build.coffee
@@ -1,6 +1,8 @@
-gravatarImage = Travis.Urls.gravatarImage
+`import Ember from 'ember'`
+`import { gravatarImage } from 'travis/utils/urls'`
+`import GithubUrlPropertievs from 'travis/mixins/github-url-properties'`
-Controller = Ember.Controller.extend Travis.GithubUrlProperties,
+Controller = Ember.Controller.extend GithubUrlPropertievs,
needs: ['repo']
repoBinding: 'controllers.repo.repo'
commitBinding: 'build.commit'
@@ -21,4 +23,4 @@ Controller = Ember.Controller.extend Travis.GithubUrlProperties,
gravatarImage(@get('commit.authorEmail'), 40)
).property('commit.authorEmail')
-Travis.BuildController = Controller
+`export default Controller`
diff --git a/app/controllers/builds-item.coffee b/app/controllers/builds-item.coffee
index 17baee76..89fec964 100644
--- a/app/controllers/builds-item.coffee
+++ b/app/controllers/builds-item.coffee
@@ -1,5 +1,6 @@
-colorForState = Travis.Helpers.colorForState
-GithubUrlProperties = Travis.GithubUrlProperties
+`import Ember from 'ember'`
+`import { colorForState } from 'travis/utils/helpers'`
+`import GithubUrlProperties from 'travis/mixins/github-url-properties'`
Controller = Ember.ObjectController.extend(GithubUrlProperties,
needs: ['builds']
@@ -11,4 +12,4 @@ Controller = Ember.ObjectController.extend(GithubUrlProperties,
).property('build.state')
)
-Travis.BuildsItemController = Controller
+`export default Controller`
diff --git a/app/controllers/builds.coffee b/app/controllers/builds.coffee
index 6d86a1be..873d3ebc 100644
--- a/app/controllers/builds.coffee
+++ b/app/controllers/builds.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
isPullRequestsList: false
@@ -27,4 +29,4 @@ Controller = Ember.ArrayController.extend
@store.find('build', options)
-Travis.BuildsController = Controller
+`export default Controller`
diff --git a/app/controllers/caches-by-branch.coffee b/app/controllers/caches-by-branch.coffee
index 450a43b9..3dffb2b3 100644
--- a/app/controllers/caches-by-branch.coffee
+++ b/app/controllers/caches-by-branch.coffee
@@ -1,4 +1,5 @@
-Ajax = Travis.ajax
+`import Ember from 'ember'`
+`import Ajax from 'travis/utils/ajax'`
Controller = Ember.ObjectController.extend
isDeleting: false
@@ -22,3 +23,4 @@ Controller = Ember.ObjectController.extend
@get('controllers.caches').removeObject(model)
Travis.CachesByBranchController = Controller
+`export default Controller`
diff --git a/app/controllers/caches-item.coffee b/app/controllers/caches-item.coffee
index 9ef9b6aa..4776d960 100644
--- a/app/controllers/caches-item.coffee
+++ b/app/controllers/caches-item.coffee
@@ -1,4 +1,5 @@
-Ajax = Travis.ajax
+`import Ember from 'ember'`
+`import Ajax from 'travis/utils/ajax'`
Controller = Ember.ObjectController.extend
isDeleting: false
@@ -23,4 +24,4 @@ Controller = Ember.ObjectController.extend
if @get('parent.caches.length') == 0
@get('controllers.caches').removeObject(@get('parent'))
-Travis.CacheItemController = Controller
+`export default Controller`
diff --git a/app/controllers/caches.coffee b/app/controllers/caches.coffee
index 336ba5eb..b75d86e7 100644
--- a/app/controllers/caches.coffee
+++ b/app/controllers/caches.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
isDeleting: false
needs: ['repo']
@@ -16,4 +18,4 @@ Controller = Ember.ArrayController.extend
Travis.ajax.ajax("/repos/#{repo.get('id')}/caches", "DELETE").then(deletingDone, deletingDone).then =>
@clear()
-Travis.CachesController = Controller
+`export default Controller`
diff --git a/app/controllers/current-user.coffee b/app/controllers/current-user.coffee
index 147a37bb..af7231f6 100644
--- a/app/controllers/current-user.coffee
+++ b/app/controllers/current-user.coffee
@@ -10,4 +10,4 @@ Controller = Ember.ObjectController.extend
@container.lookup('router:main').send('renderFirstSync')
).observes('isSyncing', 'auth.currentUser')
-Travis.CurrentUserController = Controller
+`export default Controller`
diff --git a/app/controllers/dashboard/repositories.coffee b/app/controllers/dashboard/repositories.coffee
index dfe410ff..4ac5fca7 100644
--- a/app/controllers/dashboard/repositories.coffee
+++ b/app/controllers/dashboard/repositories.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.Controller.extend
#queryParams: ['filter']
filter: null
@@ -24,4 +26,4 @@ Controller = Ember.Controller.extend
@set('_lastFilterValue', value)
Ember.run.throttle this, @updateFilter, [], 200, false
-Travis.DashboardRepositoriesController = Controller
+`export default Controller`
diff --git a/app/controllers/env-var-new.coffee b/app/controllers/env-var-new.coffee
index ff1bceee..93bbc131 100644
--- a/app/controllers/env-var-new.coffee
+++ b/app/controllers/env-var-new.coffee
@@ -1,7 +1,4 @@
-require 'utils/validations'
-
-Validations = Travis.Validations
-EnvVar = Travis.EnvVar
+`import Validations from 'travis/utils/validations'`
Controller = Ember.Controller.extend Validations,
needs: ['repo']
@@ -44,3 +41,4 @@ Controller = Ember.Controller.extend Validations,
@set('isSaving', false)
Travis.EnvVarsNewController = Controller
+`export default Controller`
diff --git a/app/controllers/env-var.coffee b/app/controllers/env-var.coffee
index 5eb76365..b793b857 100644
--- a/app/controllers/env-var.coffee
+++ b/app/controllers/env-var.coffee
@@ -1,6 +1,5 @@
-require 'utils/validations'
-
-Validations = Travis.Validations
+`import Ember from 'ember'`
+`import Validations from 'travis/utils/validations'`
Controller = Ember.ObjectController.extend Validations,
isEditing: false
@@ -46,4 +45,4 @@ Controller = Ember.ObjectController.extend Validations,
env_var.save().then =>
@set('isEditing', false)
-Travis.EnvVarController = Controller
+`export default Controller`
diff --git a/app/controllers/env-vars.coffee b/app/controllers/env-vars.coffee
index 6923be6b..fbd940a4 100644
--- a/app/controllers/env-vars.coffee
+++ b/app/controllers/env-vars.coffee
@@ -1,4 +1,6 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
vars: Ember.computed.filterBy('model', 'isNew', false)
-Travis.EnvVarsController = Controller
+`export default Controller`
diff --git a/app/controllers/first-sync.coffee b/app/controllers/first-sync.coffee
index 1631678b..bc9e94a5 100644
--- a/app/controllers/first-sync.coffee
+++ b/app/controllers/first-sync.coffee
@@ -1,7 +1,9 @@
+`import Ember from 'ember'`
+
Controller = Ember.Controller.extend
needs: ['currentUser']
user: Ember.computed.alias('controllers.currentUser')
isSyncing: Ember.computed.alias('user.isSyncing')
-Travis.FirstSyncController = Controller
+`export default Controller`
diff --git a/app/controllers/flash.coffee b/app/controllers/flash.coffee
index 3c2075d9..a047ea94 100644
--- a/app/controllers/flash.coffee
+++ b/app/controllers/flash.coffee
@@ -1,7 +1,6 @@
-require 'utils/limited-array'
-
-LimitedArray = Travis.LimitedArray
-Broadcast = Travis.Broadcast
+`import Ember from 'ember'`
+`import LimitedArray from 'travis/utils/limited-array'`
+`import Broadcast from 'travis/models/broadcast'`
Controller = Ember.ArrayController.extend
needs: ['currentUser']
@@ -46,4 +45,4 @@ Controller = Ember.ArrayController.extend
close: (msg) ->
@close(msg)
-Travis.FlashController = Controller
+`export default Controller`
diff --git a/app/controllers/job.coffee b/app/controllers/job.coffee
index db9f61f2..f05e44ad 100644
--- a/app/controllers/job.coffee
+++ b/app/controllers/job.coffee
@@ -1,4 +1,5 @@
-githubCommit = Travis.Urls.githubCommit
+`import Ember from 'ember'`
+`import { githubCommit } from 'travis/utils/urls'`
Controller = Ember.Controller.extend
needs: ['repo']
@@ -15,4 +16,4 @@ Controller = Ember.Controller.extend
githubCommit(@get('repo.slug'), @get('commit.sha'))
).property('repo.slug', 'commit.sha')
-Travis.JobController = Controller
+`export default Controller`
diff --git a/app/controllers/main/error.coffee b/app/controllers/main/error.coffee
index c5a336b7..90babea0 100644
--- a/app/controllers/main/error.coffee
+++ b/app/controllers/main/error.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.Controller.extend()
-Travis.MainErrorController = Controller
+`export default Controller`
diff --git a/app/controllers/profile.coffee b/app/controllers/profile.coffee
index f8c9bdcc..f8a43db1 100644
--- a/app/controllers/profile.coffee
+++ b/app/controllers/profile.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.Controller.extend
name: 'profile'
@@ -23,4 +25,4 @@ Controller = Ember.Controller.extend
"#{@get('config').billing_endpoint}/subscriptions/#{id}"
).property('account.login', 'account.type')
-Travis.ProfileController = Controller
+`export default Controller`
diff --git a/app/controllers/queue.coffee b/app/controllers/queue.coffee
index 4fe67325..cabd5b7f 100644
--- a/app/controllers/queue.coffee
+++ b/app/controllers/queue.coffee
@@ -1,7 +1,9 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
content: (->
@store.filter 'job', {}, (job) ->
['created', 'queued'].indexOf(job.get('state')) != -1
).property()
-Travis.QueueController = Controller
+`export default Controller`
diff --git a/app/controllers/repo.coffee b/app/controllers/repo.coffee
index 3f05d2ce..e8b616ec 100644
--- a/app/controllers/repo.coffee
+++ b/app/controllers/repo.coffee
@@ -1,4 +1,5 @@
-githubRepo = Travis.Urls.githubRepo
+`import Ember from 'ember'`
+`import { githubRepo } from 'travis/utils/urls'`
Controller = Ember.Controller.extend
needs: ['repos', 'currentUser', 'build', 'request', 'job']
@@ -93,4 +94,4 @@ Controller = Ember.Controller.extend
githubRepo(@get('repo.slug'))
).property('repo.slug')
-Travis.RepoController = Controller
+`export default Controller`
diff --git a/app/controllers/repos.coffee b/app/controllers/repos.coffee
index ba21491c..98ee9538 100644
--- a/app/controllers/repos.coffee
+++ b/app/controllers/repos.coffee
@@ -1,7 +1,6 @@
-require 'utils/limited-array'
-
-Repo = Travis.Repo
-limit = Ember.computed.limit
+`import Ember from 'ember'`
+`import limit from 'travis/utils/computed-limit'`
+`import Repo from 'travis/models/repo'`
Controller = Ember.ArrayController.extend
actions:
@@ -92,4 +91,4 @@ Controller = Ember.ArrayController.extend
'Could not find any repos'
).property('tab')
-Travis.ReposController = Controller
+`export default Controller`
diff --git a/app/controllers/request.coffee b/app/controllers/request.coffee
index 29caaa35..3d70cda0 100644
--- a/app/controllers/request.coffee
+++ b/app/controllers/request.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.ObjectController.extend
requestClass: (->
if @get('content.isAccepted')
@@ -28,4 +30,4 @@ Controller = Ember.ObjectController.extend
message
).property('model.message')
-Travis.RequestController = Controller
+`export default Controller`
diff --git a/app/controllers/requests.coffee b/app/controllers/requests.coffee
index 051d5400..759b7268 100644
--- a/app/controllers/requests.coffee
+++ b/app/controllers/requests.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
needs: ['repo']
repo: Ember.computed.alias('controllers.repo.repo')
@@ -7,4 +9,4 @@ Controller = Ember.ArrayController.extend
"https://lint.travis-ci.org/#{slug}"
).property('repo.slug')
-Travis.RequestsController = Controller
+`export default Controller`
diff --git a/app/controllers/running-jobs.coffee b/app/controllers/running-jobs.coffee
index 1322b75f..44ca18fc 100644
--- a/app/controllers/running-jobs.coffee
+++ b/app/controllers/running-jobs.coffee
@@ -1,7 +1,9 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
content: (->
@store.filter 'job', { state: 'started' }, (job) ->
['started', 'received'].indexOf(job.get('state')) != -1
).property()
-Travis.RunningJobsController = Controller
+`export default Controller`
diff --git a/app/controllers/settings/index.coffee b/app/controllers/settings/index.coffee
index 5a1226d1..40656ffa 100644
--- a/app/controllers/settings/index.coffee
+++ b/app/controllers/settings/index.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.ObjectController.extend
settings: Ember.computed.alias('model.settings')
@@ -17,4 +19,4 @@ Controller = Ember.ObjectController.extend
@get('model').saveSettings(@get('settings')).then null, ->
Travis.flash(error: 'There was an error while saving settings. Please try again.')
-Travis.SettingsIndexController = Controller
+`export default Controller`
diff --git a/app/controllers/sidebar.coffee b/app/controllers/sidebar.coffee
index 1cc8cb5a..47336d56 100644
--- a/app/controllers/sidebar.coffee
+++ b/app/controllers/sidebar.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.ArrayController.extend
init: ->
@_super.apply this, arguments
@@ -14,4 +16,4 @@ Controller = Ember.ArrayController.extend
tips[Math.floor(Math.random()*tips.length)]
).property().volatile()
-Travis.SidebarController = Controller
+`export default Controller`
diff --git a/app/controllers/ssh-key.coffee b/app/controllers/ssh-key.coffee
index 83076178..d2b32f54 100644
--- a/app/controllers/ssh-key.coffee
+++ b/app/controllers/ssh-key.coffee
@@ -1,6 +1,5 @@
-require 'utils/validations'
-
-Validations = Travis.Validations
+`import Ember from 'ember'`
+`import Validations from 'travis/utils/validations'`
Controller = Ember.ObjectController.extend Validations,
isEditing: false
@@ -60,4 +59,4 @@ Controller = Ember.ObjectController.extend Validations,
edit: ->
@set('isEditing', true)
-Travis.SshKeyController = Controller
+`export default Controller`
diff --git a/app/controllers/top.coffee b/app/controllers/top.coffee
index 8370391e..b71beef0 100644
--- a/app/controllers/top.coffee
+++ b/app/controllers/top.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Controller = Ember.Controller.extend
needs: ['currentUser']
userBinding: 'controllers.currentUser'
@@ -10,4 +12,4 @@ Controller = Ember.Controller.extend
"#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=48&d=mm"
).property('user.gravatarId')
-Travis.TopController = Controller
+`export default Controller`
diff --git a/app/helpers/.gitkeep b/app/helpers/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/app/helpers/capitalize.coffee b/app/helpers/capitalize.coffee
index 5793c349..aacda844 100644
--- a/app/helpers/capitalize.coffee
+++ b/app/helpers/capitalize.coffee
@@ -1,9 +1,10 @@
-safe = Travis.Helpers.safe
+`import { safe } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-capitalize = (value, options) ->
+helper = Ember.Handlebars.makeBoundHelper (value, options) ->
if value?
safe $.capitalize(value)
else
''
-Travis.Handlebars.capitalize = capitalize
+`export default helper`
diff --git a/app/helpers/filter-input.coffee b/app/helpers/filter-input.coffee
index b21a49a5..89c47bd7 100644
--- a/app/helpers/filter-input.coffee
+++ b/app/helpers/filter-input.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
TextField = Ember.TextField.extend
keyUp: (event) ->
@sendAction('action', @get('_value'), event)
@@ -13,4 +15,4 @@ fn = (options) ->
options.hash.onEvent = onEvent || 'enter'
return Ember.Handlebars.helpers.view.call(this, TextField, options)
-Travis.Handlebars.filterInput = fn
+`export default fn`
diff --git a/app/helpers/format-commit.coffee b/app/helpers/format-commit.coffee
index 1a74fe36..aaf63643 100644
--- a/app/helpers/format-commit.coffee
+++ b/app/helpers/format-commit.coffee
@@ -1,7 +1,6 @@
-safe = Travis.Helpers.safe
-formatCommitHelper = Travis.Helpers.formatCommit
+`import { safe, formatCommit as formatCommitHelper } from 'travis/utils/helpers'`
-formatCommit = (commit) ->
+helper = Ember.Handlebars.makeBoundHelper (commit) ->
safe formatCommitHelper(commit.get('sha'), commit.get('branch')) if commit
-Travis.Handlebars.formatCommit = formatCommit
+`export default helper`
diff --git a/app/helpers/format-config.coffee b/app/helpers/format-config.coffee
index 1f79387e..6ab44df1 100644
--- a/app/helpers/format-config.coffee
+++ b/app/helpers/format-config.coffee
@@ -1,8 +1,6 @@
-formatConfigHelper = Travis.Helpers.formatConfig
-safe = Travis.Helpers.safe
+`import { safe, formatConfig as formatConfigHelper } from 'travis/utils/helpers'`
formatConfig = (config, options) ->
safe formatConfigHelper(config)
-Travis.Handlebars.formatConfig = formatConfig
-
+`export default helper`
diff --git a/app/helpers/format-duration.coffee b/app/helpers/format-duration.coffee
index b62c464e..2e5b6e12 100644
--- a/app/helpers/format-duration.coffee
+++ b/app/helpers/format-duration.coffee
@@ -1,7 +1,7 @@
-timeInWords = Travis.Helpers.timeInWords
-safe = Travis.Helpers.safe
+`import { timeInWords, safe } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-formatDuration = (duration, options) ->
+helper = Ember.Handlebars.makeBoundHelper (duration, options) ->
safe timeInWords(duration)
-Travis.Handlebars.formatDuration = formatDuration
+`export default helper`
diff --git a/app/helpers/format-message.coffee b/app/helpers/format-message.coffee
index bd3c2859..720c6b56 100644
--- a/app/helpers/format-message.coffee
+++ b/app/helpers/format-message.coffee
@@ -1,7 +1,7 @@
-formatMessageHelper = Travis.Helpers.formatMessage
-safe = Travis.Helpers.safe
+`import { formatMessage as _formatMessage, safe } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-formatMessage = (message, options) ->
- safe formatMessageHelper(message, options.hash)
+helper = Ember.Handlebars.makeBoundHelper (message, options) ->
+ safe _formatMessage(message, options.hash)
-Travis.Handlebars.formatMessage = formatMessage
+`export default helper`
diff --git a/app/helpers/format-sha.coffee b/app/helpers/format-sha.coffee
index 3427687f..30f6e444 100644
--- a/app/helpers/format-sha.coffee
+++ b/app/helpers/format-sha.coffee
@@ -1,7 +1,7 @@
-formatShaHelper = Travis.Helpers.formatSha
-safe = Travis.Helpers.safe
+`import { formatSha as _formatSha, safe } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-formatSha = (sha) ->
- safe formatShaHelper(sha)
+helper = Ember.Handlebars.makeBoundHelper (sha) ->
+ safe _formatSha(sha)
-Travis.Handlebars.formatSha = formatSha
+`export default helper`
diff --git a/app/helpers/format-time.coffee b/app/helpers/format-time.coffee
index 52c29a86..19d21b1a 100644
--- a/app/helpers/format-time.coffee
+++ b/app/helpers/format-time.coffee
@@ -1,7 +1,7 @@
-timeAgoInWords = Travis.Helpers.timeAgoInWords
-safe = Travis.Helpers.safe
+`import { timeAgoInWords, safe } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-formatTime = (value, options) ->
+helper = Ember.Handlebars.makeBoundHelper (value, options) ->
safe timeAgoInWords(value) || '-'
-Travis.Handlebars.formatTime = formatTime
+`export default helper`
diff --git a/app/helpers/github-commit-link.coffee b/app/helpers/github-commit-link.coffee
index e7be3a33..2b236e96 100644
--- a/app/helpers/github-commit-link.coffee
+++ b/app/helpers/github-commit-link.coffee
@@ -1,8 +1,7 @@
-formatConfig = Travis.Helpers.formatConfig
-githubCommitUrl = Travis.Urls.githubCommit
-safe = Travis.Helpers.safe
+`import { formatConfig, save } from 'travis/utils/helpers'`
+`import { githubCommit as githubCommitUrl } from 'travis/utils/urls'`
-githubCommitLink = (slug, commitSha) ->
+helper = Ember.Handlebars.makeBoundHelper (slug, commitSha) ->
return '' unless commitSha
sha = Handlebars.Utils.escapeExpression formatCommit(commitSha)
return sha unless slug
@@ -10,4 +9,4 @@ githubCommitLink = (slug, commitSha) ->
safe '' + sha + ''
-Travis.Handlebars.githubCommitLink = githubCommitLink
+`export default helper`
diff --git a/app/helpers/humanize-state.coffee b/app/helpers/humanize-state.coffee
index 1f4ddd45..ad01c870 100644
--- a/app/helpers/humanize-state.coffee
+++ b/app/helpers/humanize-state.coffee
@@ -1,10 +1,10 @@
-safe = Travis.Helpers.safe
+`import { safe } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-fn = (state) ->
+helper = Ember.Handlebars.makeBoundHelper (state) ->
if state == 'received'
'booting'
else
state
-
-Travis.Handlebars.humanizeState = fn
+`export default helper`
diff --git a/app/helpers/input.coffee b/app/helpers/input.coffee
index 96fceecc..dc817a07 100644
--- a/app/helpers/input.coffee
+++ b/app/helpers/input.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
originalInputHelper = Ember.Handlebars.helpers.input
input = (options) ->
@@ -25,4 +27,4 @@ input = (options) ->
originalInputHelper.call(this, options)
-Travis.Handlebars.input = input
+`export default input`
diff --git a/app/helpers/label.coffee b/app/helpers/label.coffee
index 1a9ad3cd..843f57ac 100644
--- a/app/helpers/label.coffee
+++ b/app/helpers/label.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
LabelView = Ember.View.extend(
tagName: 'label'
@@ -29,4 +31,4 @@ label = (options) ->
Ember.Handlebars.helpers.view.call(this, view, options)
-Travis.Handlebars.label = label
+`export default label`
diff --git a/app/helpers/mb.coffee b/app/helpers/mb.coffee
index 4852fc75..d688c070 100644
--- a/app/helpers/mb.coffee
+++ b/app/helpers/mb.coffee
@@ -1,5 +1,5 @@
-fn = (size) ->
+helper = Ember.Handlebars.makeBoundHelper (size) ->
if size
(size / 1024 / 1024).toFixed(2)
-Travis.Handlebars.mb = fn
+`export default helper`
diff --git a/app/helpers/short-compare-shas.coffee b/app/helpers/short-compare-shas.coffee
index 81cd7441..606dc491 100644
--- a/app/helpers/short-compare-shas.coffee
+++ b/app/helpers/short-compare-shas.coffee
@@ -1,6 +1,7 @@
-pathFrom = Travis.Helpers.pathFrom
+`import { pathFrom } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-fn = (url, options) ->
+helper = Ember.Handlebars.makeBoundHelper (url, options) ->
path = pathFrom(url)
if path.indexOf('...') >= 0
shas = path.split('...')
@@ -8,4 +9,4 @@ fn = (url, options) ->
else
path
-Travis.Handlebars.shortCompareShas = fn
+`export default helper`
diff --git a/app/helpers/tipsy.coffee b/app/helpers/tipsy.coffee
index e328cfea..08c58e38 100644
--- a/app/helpers/tipsy.coffee
+++ b/app/helpers/tipsy.coffee
@@ -1,6 +1,7 @@
-safe = Travis.Helpers.safe
+`import { safe } from 'travis/utils/helpers'`
+`import Ember from "ember"`
-tipsy = (text, tip) ->
+helper = Ember.Handlebars.makeBoundHelper (text, tip) ->
safe '' + text + ''
-Travis.Handlebars.tipsy = tipsy
+`export default helper`
diff --git a/app/helpers/travis-errors.coffee b/app/helpers/travis-errors.coffee
index b15f478e..84df9ce2 100644
--- a/app/helpers/travis-errors.coffee
+++ b/app/helpers/travis-errors.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
ErrorsView = Ember.View.extend
tagName: 'span'
template: Ember.Handlebars.compile("{{#each view.errors}}{{message}}{{/each}}")
@@ -21,4 +23,4 @@ fn = (name, options) ->
Ember.Handlebars.helpers.view.call(this, view, options)
-Travis.Handlebars.travisErrors = fn
+`export default fn`
diff --git a/app/helpers/travis-field.coffee b/app/helpers/travis-field.coffee
index c389b963..c29bb3ea 100644
--- a/app/helpers/travis-field.coffee
+++ b/app/helpers/travis-field.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
FormFieldRowView = Ember.View.extend
invalid: Ember.computed.notEmpty('errors.[]')
classNameBindings: ['invalid']
@@ -18,4 +20,4 @@ fn = (name, options) ->
Ember.Handlebars.helpers.view.call(this, view, options)
-Travis.Handlebars.travisField = fn
+`export default fn`
diff --git a/app/index.html b/app/index.html
new file mode 100644
index 00000000..acba4eaa
--- /dev/null
+++ b/app/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+ Travis
+
+
+
+ {{content-for 'head'}}
+
+
+
+
+ {{content-for 'head-footer'}}
+
+
+ {{content-for 'body'}}
+
+
+
+
+ {{content-for 'body-footer'}}
+
+
diff --git a/app/initializers/auth.coffee b/app/initializers/auth.coffee
index 8956785c..a5aa182c 100644
--- a/app/initializers/auth.coffee
+++ b/app/initializers/auth.coffee
@@ -1,3 +1,5 @@
+`import Auth from 'travis/utils/auth'`
+
initialize = (container, app) ->
app.register 'auth:main', Auth
@@ -11,5 +13,5 @@ AuthInitializer =
name: 'auth'
initialize: initialize
-Ember.onLoad 'Ember.Application', (Application) ->
- Application.initializer AuthInitializer
+`export {initialize}`
+`export default AuthInitializer`
diff --git a/app/initializers/config.coffee b/app/initializers/config.coffee
index ec85bec0..f10eb95d 100644
--- a/app/initializers/config.coffee
+++ b/app/initializers/config.coffee
@@ -1,6 +1,4 @@
-require 'config/environment'
-
-config = ENV.config
+`import config from 'travis/config/environment'`
initialize = (container, application) ->
application.register 'config:main', config, { instantiate: false }
@@ -12,5 +10,5 @@ ConfigInitializer =
name: 'config'
initialize: initialize
-Ember.onLoad 'Ember.Application', (Application) ->
- Application.initializer ConfigInitializer
+`export {initialize}`
+`export default ConfigInitializer`
diff --git a/app/initializers/google-analytics.coffee b/app/initializers/google-analytics.coffee
index 01aa569f..0d4d77b7 100644
--- a/app/initializers/google-analytics.coffee
+++ b/app/initializers/google-analytics.coffee
@@ -1,4 +1,4 @@
-config = ENV.config
+`import config from 'travis/config/environment'`
initialize = (container) ->
if config.ga_code
@@ -16,5 +16,5 @@ GAInitializer =
name: 'google-analytics'
initialize: initialize
-Ember.onLoad 'Ember.Application', (Application) ->
- Application.initializer GAInitializer
+`export {initialize}`
+`export default GAInitializer`
diff --git a/app/initializers/pusher.coffee b/app/initializers/pusher.coffee
index 2a8808d2..15ceb0a9 100644
--- a/app/initializers/pusher.coffee
+++ b/app/initializers/pusher.coffee
@@ -1,7 +1,4 @@
-require 'utils/pusher'
-
-config = ENV.config
-Pusher = Travis.Pusher
+`import config from 'travis/config/environment'`
initialize = (container, application) ->
if config.pusher.key
@@ -18,5 +15,5 @@ PusherInitializer =
name: 'pusher'
initialize: initialize
-Ember.onLoad 'Ember.Application', (Application) ->
- Application.initializer PusherInitializer
+`export {initialize}`
+`export default PusherInitializer`
diff --git a/app/initializers/services.coffee b/app/initializers/services.coffee
index a4d7369e..308853a0 100644
--- a/app/initializers/services.coffee
+++ b/app/initializers/services.coffee
@@ -1,7 +1,7 @@
-config = ENV.config
-Slider = Travis.Slider
-Tailing = Travis.Tailing
-ToTop = Travis.ToTop
+`import Slider from 'travis/utils/slider'`
+`import Tailing from 'travis/utils/tailing'`
+`import ToTop from 'travis/utils/to-top'`
+`import config from 'travis/config/environment'`
initialize = (container, application) ->
application.slider = new Slider(application.storage)
@@ -13,5 +13,5 @@ Initializer =
name: 'services'
initialize: initialize
-Ember.onLoad 'Ember.Application', (Application) ->
- Application.initializer Initializer
+`export {initialize}`
+`export default Initializer`
diff --git a/app/initializers/storage.coffee b/app/initializers/storage.coffee
index b7a544c8..8b8a04ad 100644
--- a/app/initializers/storage.coffee
+++ b/app/initializers/storage.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Storage = Em.Object.extend
init: ->
@set('storage', {})
@@ -52,5 +54,5 @@ StorageInitializer =
before: 'services'
initialize: initialize
-Ember.onLoad 'Ember.Application', (Application) ->
- Application.initializer StorageInitializer
+`export {initialize}`
+`export default StorageInitializer`
diff --git a/app/initializers/stylesheets-manager.coffee b/app/initializers/stylesheets-manager.coffee
index 42326b0a..6b49760a 100644
--- a/app/initializers/stylesheets-manager.coffee
+++ b/app/initializers/stylesheets-manager.coffee
@@ -14,5 +14,5 @@ StylesheetsManagerInitializer =
name: 'inject-stylesheets-manager'
initialize: initialize
-Ember.onLoad 'Ember.Application', (Application) ->
- Application.initializer StylesheetsManagerInitializer
+`export {initialize}`
+`export default StylesheetsManagerInitializer`
diff --git a/app/mixins/github-url-properties.coffee b/app/mixins/github-url-properties.coffee
index ef532a95..76bc191c 100644
--- a/app/mixins/github-url-properties.coffee
+++ b/app/mixins/github-url-properties.coffee
@@ -1,5 +1,4 @@
-githubCommit = Travis.Urls.githubCommit
-githubPullRequest = Travis.Urls.githubPullRequest
+`import { githubCommit, githubPullRequest } from 'travis/utils/urls'`
mixin = Ember.Mixin.create
urlGithubCommit: (->
@@ -10,4 +9,4 @@ mixin = Ember.Mixin.create
githubPullRequest(@get('repo.slug'), @get('build.pullRequestNumber'))
).property('repo.slug', 'build.pullRequestNumber')
-Travis.GithubUrlProperties = mixin
+`export default mixin`
diff --git a/app/models/.gitkeep b/app/models/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/app/models/account.coffee b/app/models/account.coffee
index e09bd399..8f371962 100644
--- a/app/models/account.coffee
+++ b/app/models/account.coffee
@@ -1,6 +1,5 @@
-require 'models/model'
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
Account = Model.extend
name: DS.attr()
@@ -10,4 +9,4 @@ Account = Model.extend
education: DS.attr('boolean')
loginBinding: 'id'
-Travis.Account = Account
+`export default Account`
diff --git a/app/models/annotation.coffee b/app/models/annotation.coffee
index bcd5af56..000bd85d 100644
--- a/app/models/annotation.coffee
+++ b/app/models/annotation.coffee
@@ -1,6 +1,5 @@
-require 'models/model'
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
Annotation = Model.extend
jobId: DS.attr('number')
@@ -11,4 +10,4 @@ Annotation = Model.extend
job: DS.belongsTo('job')
-Travis.Annotation = Annotation
+`export default Annotation`
diff --git a/app/models/branch.coffee b/app/models/branch.coffee
index 7d3ad4e1..72aaea3d 100644
--- a/app/models/branch.coffee
+++ b/app/models/branch.coffee
@@ -1,6 +1,5 @@
-require 'models/model'
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
Branch = Model.extend
repositoryId: DS.attr('number')
@@ -24,4 +23,4 @@ Branch = Model.extend
@notifyPropertyChange 'started_at'
@notifyPropertyChange 'finished_at'
-Travis.Branch = Branch
+`export default Branch`
diff --git a/app/models/broadcast.coffee b/app/models/broadcast.coffee
index 0502f953..80c6c963 100644
--- a/app/models/broadcast.coffee
+++ b/app/models/broadcast.coffee
@@ -1,6 +1,5 @@
-require 'models/model'
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
Broadcast = Model.extend
message: DS.attr()
@@ -27,4 +26,4 @@ Broadcast.reopenClass
# TODO fix or monkey-patch the adapter's url and key lookup/generation crap
# url: 'users/broadcasts'
-Travis.Broadcast = Broadcast
+`export default Broadcast`
diff --git a/app/models/build.coffee b/app/models/build.coffee
index f4202a7b..72892eb2 100644
--- a/app/models/build.coffee
+++ b/app/models/build.coffee
@@ -1,13 +1,9 @@
-require 'models/model'
-require 'utils/duration-calculations'
-require 'utils/ajax'
-
-compact = Travis.Helpers.compact
-configKeys = Travis.Helpers.configKeys
-Ajax = Travis.ajax
-configKeysMap = Travis.CONFIG_KEYS_MAP
-DurationCalculations = Travis.DurationCalculations
-Model = Travis.Model
+`import { durationFrom, configKeys, compact } from 'travis/utils/helpers'`
+`import Ajax from 'travis/utils/ajax'`
+`import configKeysMap from 'travis/utils/keys-map'`
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
+`import DurationCalculations from 'travis/utils/duration-calculations'`
Build = Model.extend DurationCalculations,
state: DS.attr()
@@ -108,4 +104,4 @@ Build = Model.extend DurationCalculations,
moment(finishedAt).format('lll')
).property('finishedAt')
-Travis.Build = Build
+`export default Build`
diff --git a/app/models/commit.coffee b/app/models/commit.coffee
index cbcdd209..01b184db 100644
--- a/app/models/commit.coffee
+++ b/app/models/commit.coffee
@@ -1,6 +1,6 @@
-require 'models/model'
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
+`import Build from 'travis/models/build'`
Commit = Model.extend
sha: DS.attr()
@@ -32,4 +32,4 @@ Commit = Model.extend
@get('authorEmail') == @get('committerEmail')
).property('authorName', 'authorEmail', 'committerName', 'committerEmail')
-Travis.Commit = Commit
+`export default Commit`
diff --git a/app/models/env-var.coffee b/app/models/env-var.coffee
index e4b3c634..3d383347 100644
--- a/app/models/env-var.coffee
+++ b/app/models/env-var.coffee
@@ -1,6 +1,5 @@
-require 'models/model'
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
EnvVar = Model.extend
name: DS.attr()
@@ -9,4 +8,4 @@ EnvVar = Model.extend
repo: DS.belongsTo('repo', async: true)
-Travis.EnvVar = EnvVar
+`export default EnvVar`
diff --git a/app/models/hook.coffee b/app/models/hook.coffee
index 9abd4bb0..5aa74779 100644
--- a/app/models/hook.coffee
+++ b/app/models/hook.coffee
@@ -1,8 +1,5 @@
-require 'models/model'
-
-config = ENV.config
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
Hook = Model.extend
name: DS.attr()
@@ -33,4 +30,4 @@ Hook = Model.extend
@set 'active', !@get('active')
@save()
-Travis.Hook = Hook
+`export default Hook`
diff --git a/app/models/job.coffee b/app/models/job.coffee
index 92db2f69..168333e7 100644
--- a/app/models/job.coffee
+++ b/app/models/job.coffee
@@ -1,12 +1,10 @@
-require 'models/model'
-require 'models/log'
-require 'utils/ajax'
-
-Model = Travis.Model
-DurationCalculations = Travis.DurationCalculations
-Log = Travis.Log
-compact = Travis.Helpers.compact
-Ajax = Travis.ajax
+`import { durationFrom, configKeys, compact } from 'travis/utils/helpers'`
+`import Ajax from 'travis/utils/ajax'`
+`import configKeysMap from 'travis/utils/keys-map'`
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
+`import Log from 'travis/models/log'`
+`import DurationCalculations from 'travis/utils/duration-calculations'`
Job = Model.extend DurationCalculations,
logId: DS.attr()
@@ -140,4 +138,4 @@ Job = Model.extend DurationCalculations,
"#{@get('repo.slug')} ##{@get('number')}"
).property()
-Travis.Job = Job
+`export default Job`
diff --git a/app/models/log.coffee b/app/models/log.coffee
index 25c17ac4..b72551a0 100644
--- a/app/models/log.coffee
+++ b/app/models/log.coffee
@@ -1,7 +1,8 @@
-require 'utils/log-chunks'
-
-Ajax = Travis.ajax
-config = ENV.config
+`import Model from 'travis/models/model'`
+`import Ajax from 'travis/utils/ajax'`
+`import Job from 'travis/models/job'`
+`import Ember from 'ember'`
+`import config from 'travis/config/environment'`
Request = Ember.Object.extend
HEADERS:
@@ -98,4 +99,4 @@ Log = Ember.Object.extend
@append(number: 1, content: text, final: true)
@set('isLoaded', true)
-Travis.Log = Log
+`export default Log`
diff --git a/app/models/model.coffee b/app/models/model.coffee
index a8eadc0e..4bf89a2b 100644
--- a/app/models/model.coffee
+++ b/app/models/model.coffee
@@ -1,3 +1,3 @@
-Model = DS.Model.extend()
+`import DS from 'ember-data';`
-Travis.Model = Model
+`export default DS.Model.extend();`
diff --git a/app/models/repo.coffee b/app/models/repo.coffee
index 9775ba53..955d1ab2 100644
--- a/app/models/repo.coffee
+++ b/app/models/repo.coffee
@@ -1,15 +1,10 @@
-require 'utils/expandable-record-array'
-require 'models/model'
-
-Model = Travis.Model
-ExpandableRecordArray = Travis.ExpandableRecordArray
-EnvVar = Travis.EnvVar
-Build = Travis.Build
-SshKey = Travis.SshKey
-Event = Travis.Event
-durationFromHelper = Travis.Helpers.durationFrom
-Ajax = Travis.ajax
-
+`import ExpandableRecordArray from 'travis/utils/expandable-record-array'`
+`import Model from 'travis/models/model'`
+`import Ajax from 'travis/utils/ajax'`
+# TODO: Investigate for some weird reason if I use durationFrom here not durationFromHelper,
+# the function stops being visible inside computed properties.
+`import { durationFrom as durationFromHelper } from 'travis/utils/helpers'`
+`import Build from 'travis/models/build'`
Repo = Model.extend
slug: DS.attr()
description: DS.attr()
@@ -184,4 +179,4 @@ Repo.reopenClass
# buildURL: (slug) ->
# if slug then slug else 'repos'
-Travis.Repo = Repo
+`export default Repo`
diff --git a/app/models/request.coffee b/app/models/request.coffee
index 396c335a..781134ce 100644
--- a/app/models/request.coffee
+++ b/app/models/request.coffee
@@ -1,6 +1,5 @@
-require 'models/model'
-
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
Request = Model.extend
created_at: DS.attr()
@@ -30,4 +29,4 @@ Request = Model.extend
@get('event_type') == 'pull_request'
).property('event_type')
-Travis.Request = Request
+`export default Request`
diff --git a/app/models/ssh-key.coffee b/app/models/ssh-key.coffee
index d288aef7..896712a3 100644
--- a/app/models/ssh-key.coffee
+++ b/app/models/ssh-key.coffee
@@ -1,8 +1,9 @@
-Model = Travis.Model
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
SshKey = Model.extend
value: DS.attr()
description: DS.attr()
fingerprint: DS.attr()
-Travis.SshKey = SshKey
+`export default SshKey`
diff --git a/app/models/user.coffee b/app/models/user.coffee
index e8f211c9..987d4680 100644
--- a/app/models/user.coffee
+++ b/app/models/user.coffee
@@ -1,10 +1,6 @@
-require 'utils/ajax'
-require 'models/model'
-
-Model = Travis.Model
-Ajax = Travis.ajax
-Account = Travis.Account
-config = ENV.config
+`import Ember from 'ember'`
+`import Model from 'travis/models/model'`
+`import Ajax from 'travis/utils/ajax'`
User = Model.extend
name: DS.attr()
@@ -88,4 +84,4 @@ User = Model.extend
user[$.underscore(name)] = @get(name)
Travis.sessionStorage.setItem('travis.user', JSON.stringify(user))
-Travis.User = User
+`export default User`
diff --git a/app/router.coffee b/app/router.coffee
index 91305879..5498e4d6 100644
--- a/app/router.coffee
+++ b/app/router.coffee
@@ -1,9 +1,8 @@
-require 'utils/location'
-require 'routes/application'
-
-config = ENV.config
+`import Ember from 'ember'`
+`import config from './config/environment'`
Router = Ember.Router.extend
+ # TODO: we should use TravisLocation here
location: 'history'
handleURL: (url) ->
@@ -54,4 +53,4 @@ Router.map ->
@route 'notFound', path: "/*path"
-Travis.Router = Router
+`export default Router`
diff --git a/app/routes/.gitkeep b/app/routes/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/app/routes/abstract-builds.coffee b/app/routes/abstract-builds.coffee
index a6e289d9..53e5bbd6 100644
--- a/app/routes/abstract-builds.coffee
+++ b/app/routes/abstract-builds.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
renderTemplate: ->
@@ -23,4 +21,4 @@ Route = TravisRoute.extend
"repo.#{type.camelize()}"
).property('contentType')
-Travis.AbstractBuildsRoute = Route
+`export default Route`
diff --git a/app/routes/account.coffee b/app/routes/account.coffee
index bd0ea80d..140f219e 100644
--- a/app/routes/account.coffee
+++ b/app/routes/account.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
setupController: (controller, account) ->
@@ -17,4 +15,4 @@ Route = TravisRoute.extend
else
{}
-Travis.AccountRoute = Route
+`export default Route`
diff --git a/app/routes/accounts.coffee b/app/routes/accounts.coffee
index 7a24adcb..cda2db79 100644
--- a/app/routes/accounts.coffee
+++ b/app/routes/accounts.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
model: ->
@@ -11,4 +9,4 @@ Route = TravisRoute.extend
@render 'profile_accounts', outlet: 'left', into: 'profile'
-Travis.AccountsRoute = Route
+`export default Route`
diff --git a/app/routes/accounts/index.coffee b/app/routes/accounts/index.coffee
index 18da917d..7cb2c715 100644
--- a/app/routes/accounts/index.coffee
+++ b/app/routes/accounts/index.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
redirect: ->
@@ -11,5 +9,4 @@ Route = TravisRoute.extend
account = accounts.find (account) -> account.get('login') == login
@replaceWith 'account', account
-
-Travis.AccountsIndexRoute = Route
+`export default Route`
diff --git a/app/routes/accounts/info.coffee b/app/routes/accounts/info.coffee
index f10ab33e..9d20ea46 100644
--- a/app/routes/accounts/info.coffee
+++ b/app/routes/accounts/info.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
setupController: ->
@@ -11,4 +9,4 @@ Route = TravisRoute.extend
renderTemplate: ->
@render 'accounts_info'
-Travis.AccountsInfoRoute = Route
+`export default Route`
diff --git a/app/routes/application.coffee b/app/routes/application.coffee
index d594f846..0ce223ba 100644
--- a/app/routes/application.coffee
+++ b/app/routes/application.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
needsAuth: false
@@ -45,4 +43,4 @@ Route = TravisRoute.extend
else
@transitionTo('main')
-Travis.ApplicationRoute = Route
+`export default Route`
diff --git a/app/routes/auth.coffee b/app/routes/auth.coffee
index 3d231243..d50a84b7 100644
--- a/app/routes/auth.coffee
+++ b/app/routes/auth.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
needsAuth: false
@@ -22,4 +20,4 @@ Route = TravisRoute.extend
if @signedIn()
@transitionTo('main')
-Travis.AuthRoute = Route
+`export default Route`
diff --git a/app/routes/basic.coffee b/app/routes/basic.coffee
index 318896f2..e6c5af54 100644
--- a/app/routes/basic.coffee
+++ b/app/routes/basic.coffee
@@ -1,4 +1,5 @@
-config = ENV.config
+`import config from 'travis/config/environment'`
+`import Ember from 'ember'`
Route = Ember.Route.extend
beforeModel: (transition) ->
@@ -18,4 +19,4 @@ Route = Ember.Route.extend
config.pro
).property()
-Travis.BasicRoute = Route
+`export default Route`
diff --git a/app/routes/branches.coffee b/app/routes/branches.coffee
index 9fbb2915..c58239b4 100644
--- a/app/routes/branches.coffee
+++ b/app/routes/branches.coffee
@@ -1,7 +1,5 @@
-require 'routes/basic'
-
-AbstractBuildsRoute = Travis.AbstractBuildsRoute
+`import AbstractBuildsRoute from 'travis/routes/abstract-builds'`
Route = AbstractBuildsRoute.extend(contentType: 'branches')
-Travis.BranchesRoute = Route
+`export default Route`
diff --git a/app/routes/build.coffee b/app/routes/build.coffee
index d428b47d..3c236a80 100644
--- a/app/routes/build.coffee
+++ b/app/routes/build.coffee
@@ -1,7 +1,4 @@
-require 'routes/basic'
-require 'models/build'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
serialize: (model, params) ->
@@ -25,4 +22,4 @@ Route = TravisRoute.extend
@controllerFor('job').set('job', null)
@controllerFor('build').set('build', null)
-Travis.BuildRoute = Route
+`export default Route`
diff --git a/app/routes/builds.coffee b/app/routes/builds.coffee
index ec159cb9..5bc035eb 100644
--- a/app/routes/builds.coffee
+++ b/app/routes/builds.coffee
@@ -1,7 +1,5 @@
-require 'routes/basic'
-
-AbstractBuildsRoute = Travis.AbstractBuildsRoute
+`import AbstractBuildsRoute from 'travis/routes/abstract-builds'`
Route = AbstractBuildsRoute.extend(contentType: 'builds')
-Travis.BuildsRoute = Route
+`export default Route`
diff --git a/app/routes/caches.coffee b/app/routes/caches.coffee
index 5337baa2..6d7c0ded 100644
--- a/app/routes/caches.coffee
+++ b/app/routes/caches.coffee
@@ -1,10 +1,6 @@
-require 'routes/basic'
-require 'models/request'
-require 'utils/ajax'
-
-Request = Travis.Request
-Ajax = Travis.ajax
-TravisRoute = Travis.BasicRoute
+`import Ember from 'ember'`
+`import TravisRoute from 'travis/routes/basic'`
+`import Ajax from 'travis/utils/ajax'`
Route = TravisRoute.extend
needsAuth: true
@@ -32,4 +28,4 @@ Route = TravisRoute.extend
result
)
-Travis.CachesRoute = Route
+`export default Route`
diff --git a/app/routes/dashboard.coffee b/app/routes/dashboard.coffee
index 6df3ccce..6a391df9 100644
--- a/app/routes/dashboard.coffee
+++ b/app/routes/dashboard.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
needsAuth: true
@@ -12,4 +10,4 @@ Route = TravisRoute.extend
@get('stylesheetsManager').enable('main')
@get('stylesheetsManager').disable('dashboard')
-Travis.DashboardRoute = Route
+`export default Route`
diff --git a/app/routes/dashboard/repositories.coffee b/app/routes/dashboard/repositories.coffee
index 5ae0d3a5..a6d4905b 100644
--- a/app/routes/dashboard/repositories.coffee
+++ b/app/routes/dashboard/repositories.coffee
@@ -1,6 +1,5 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import Ember from 'ember'`
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
queryParams:
@@ -16,4 +15,4 @@ Route = TravisRoute.extend
Ember.Object.create(repo)
)
-Travis.DashboardRepositoriesRoute = Route
+`export default Route`
diff --git a/app/routes/env-vars.coffee b/app/routes/env-vars.coffee
index 5bf782f3..10d0acc6 100644
--- a/app/routes/env-vars.coffee
+++ b/app/routes/env-vars.coffee
@@ -1,10 +1,8 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
model: (params) ->
repo = @modelFor('repo')
repo.get('envVars.promise')
-Travis.EnvVarsRoute = Route
+`export default Route`
diff --git a/app/routes/first-sync.coffee b/app/routes/first-sync.coffee
index 0ce66725..bb3699f3 100644
--- a/app/routes/first-sync.coffee
+++ b/app/routes/first-sync.coffee
@@ -1,9 +1,4 @@
-require 'routes/basic'
-require 'routes/simple-layout'
-require 'models/repo'
-
-SimpleLayoutRoute = Travis.SimpleLayoutRoute
-Repo = Travis.Repo
+`import SimpleLayoutRoute from 'travis/routes/simple-layout'`
Route = SimpleLayoutRoute.extend
activate: ->
@@ -35,4 +30,4 @@ Route = SimpleLayoutRoute.extend
# do nothing, we are showing first sync, so it's normal that there is
# no owned repos
-Travis.FirstSyncRoute = Route
+`export default Route`
diff --git a/app/routes/getting-started.coffee b/app/routes/getting-started.coffee
index 8037b668..52b7cc75 100644
--- a/app/routes/getting-started.coffee
+++ b/app/routes/getting-started.coffee
@@ -1,7 +1,5 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend()
-Travis.GettingStartedRoute = Route
+`export default Route`
diff --git a/app/routes/insufficient-oauth-permissions.coffee b/app/routes/insufficient-oauth-permissions.coffee
index d509cc0d..760fa8cd 100644
--- a/app/routes/insufficient-oauth-permissions.coffee
+++ b/app/routes/insufficient-oauth-permissions.coffee
@@ -1,7 +1,4 @@
-require 'routes/basic'
-require 'routes/simple-layout'
-
-SimpleLayoutRoute = Travis.SimpleLayoutRoute
+`import SimpleLayoutRoute from 'travis/routes/simple-layout'`
Route = SimpleLayoutRoute.extend
setupController: (controller) ->
@@ -9,4 +6,4 @@ Route = SimpleLayoutRoute.extend
existingUser = document.location.hash.match(/#existing[_-]user/)
controller.set('existingUser', existingUser)
-Travis.InsufficientOauthPermissionsRoute = Route
+`export default Route`
diff --git a/app/routes/job.coffee b/app/routes/job.coffee
index 9edceed0..2d425772 100644
--- a/app/routes/job.coffee
+++ b/app/routes/job.coffee
@@ -1,7 +1,4 @@
-require 'routes/basic'
-require 'models/job'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
serialize: (model, params) ->
@@ -29,4 +26,4 @@ Route = TravisRoute.extend
@controllerFor('build').set('build', null)
@controllerFor('job').set('job', null)
-Travis.JobRoute = Route
+`export default Route`
diff --git a/app/routes/main-tab.coffee b/app/routes/main-tab.coffee
index 9f2c0d2a..d35a328a 100644
--- a/app/routes/main-tab.coffee
+++ b/app/routes/main-tab.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
renderTemplate: ->
@@ -27,4 +25,4 @@ Route = TravisRoute.extend
redirectToGettingStarted: ->
@transitionTo('getting_started')
-Travis.MainTabRoute = Route
+`export default Route`
diff --git a/app/routes/main.coffee b/app/routes/main.coffee
index c61d7956..0a884618 100644
--- a/app/routes/main.coffee
+++ b/app/routes/main.coffee
@@ -1,7 +1,8 @@
-require 'routes/basic'
+#require 'pusher'
+#channels = Travis.Pusher.CHANNELS
-TravisRoute = Travis.BasicRoute
-config = ENV.config
+`import TravisRoute from 'travis/routes/basic'`
+`import config from 'travis/config/environment'`
Route = TravisRoute.extend
renderTemplate: ->
@@ -21,4 +22,4 @@ Route = TravisRoute.extend
if config.pusher.channels
@get('pusher').subscribeAll(config.pusher.channels)
-Travis.MainRoute = Route
+`export default Route`
diff --git a/app/routes/main/index.coffee b/app/routes/main/index.coffee
index 0b5e69ba..4ebea1c0 100644
--- a/app/routes/main/index.coffee
+++ b/app/routes/main/index.coffee
@@ -1,10 +1,8 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
redirect: ->
target = if @signedIn() then 'repositories' else 'recent'
@transitionTo("main.#{target}")
-Travis.MainIndexRoute = Route
+`export default Route`
diff --git a/app/routes/main/my-repositories.coffee b/app/routes/main/my-repositories.coffee
index 8f5b4ac3..51bb3987 100644
--- a/app/routes/main/my-repositories.coffee
+++ b/app/routes/main/my-repositories.coffee
@@ -1,9 +1,7 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
redirect: ->
@transitionTo("main.repositories")
-Travis.MainMyRepositoriesRoute = Route
+`export default Route`
diff --git a/app/routes/main/recent.coffee b/app/routes/main/recent.coffee
index b14fc8d1..9ac661d9 100644
--- a/app/routes/main/recent.coffee
+++ b/app/routes/main/recent.coffee
@@ -1,9 +1,7 @@
-require 'routes/basic'
-require 'routes/main-tab'
-
-MainTabRoute = Travis.MainTabRoute
+`import TravisRoute from 'travis/routes/basic'`
+`import MainTabRoute from 'travis/routes/main-tab'`
Route = MainTabRoute.extend
reposTabName: 'recent'
-Travis.MainRecentRoute = Route
+`export default Route`
diff --git a/app/routes/main/repositories.coffee b/app/routes/main/repositories.coffee
index 5546f360..ed35b505 100644
--- a/app/routes/main/repositories.coffee
+++ b/app/routes/main/repositories.coffee
@@ -1,7 +1,4 @@
-require 'routes/basic'
-require 'routes/main-tab'
-
-MainTabRoute = Travis.MainTabRoute
+`import MainTabRoute from 'travis/routes/main-tab'`
Route = MainTabRoute.extend
needsAuth: true
@@ -9,4 +6,4 @@ Route = MainTabRoute.extend
afterModel: ->
@controllerFor('repos').possiblyRedirectToGettingStartedPage()
-Travis.MainRepositoriesRoute = Route
+`export default Route`
diff --git a/app/routes/main/search.coffee b/app/routes/main/search.coffee
index 9ec2bc6b..b2623693 100644
--- a/app/routes/main/search.coffee
+++ b/app/routes/main/search.coffee
@@ -1,7 +1,4 @@
-require 'routes/basic'
-require 'routes/main-tab'
-
-MainTabRoute = Travis.MainTabRoute
+`import MainTabRoute from 'travis/routes/main-tab'`
Route = MainTabRoute.extend
renderTemplate: ->
@@ -24,4 +21,4 @@ Route = MainTabRoute.extend
@controllerFor('repos').set('search', undefined)
-Travis.MainSearchRoute = Route
+`export default Route`
diff --git a/app/routes/not-found.coffee b/app/routes/not-found.coffee
index f81a2e5c..4ebc5df8 100644
--- a/app/routes/not-found.coffee
+++ b/app/routes/not-found.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
renderTemplate: ->
@@ -8,4 +6,4 @@ Route = TravisRoute.extend
@render 'not_found'
-Travis.NotFoundRoute = Route
+`export default Route`
diff --git a/app/routes/profile.coffee b/app/routes/profile.coffee
index 23e88170..3381f3bb 100644
--- a/app/routes/profile.coffee
+++ b/app/routes/profile.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
needsAuth: true
@@ -13,4 +11,4 @@ Route = TravisRoute.extend
@_super.apply(this, arguments)
@render 'loading', outlet: 'left', into: 'profile'
-Travis.ProfileRoute = Route
+`export default Route`
diff --git a/app/routes/pull-requests.coffee b/app/routes/pull-requests.coffee
index 9c979dc7..121aa633 100644
--- a/app/routes/pull-requests.coffee
+++ b/app/routes/pull-requests.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-AbstractBuildsRoute = Travis.AbstractBuildsRoute
+`import AbstractBuildsRoute from 'travis/routes/abstract-builds'`
Route = AbstractBuildsRoute.extend(
contentType: 'pull_requests'
@@ -15,4 +13,4 @@ Route = AbstractBuildsRoute.extend(
this.controllerFor('builds').set('isPullRequestsList', false)
)
-Travis.PullRequestsRoute = Route
+`export default Route`
diff --git a/app/routes/repo.coffee b/app/routes/repo.coffee
index b8e26400..550b5f23 100644
--- a/app/routes/repo.coffee
+++ b/app/routes/repo.coffee
@@ -1,8 +1,5 @@
-require 'routes/basic'
-require 'models/repo'
-
-Repo = Travis.Repo
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
+`import Repo from 'travis/models/repo'`
Route = TravisRoute.extend
renderTemplate: ->
@@ -37,4 +34,4 @@ Route = TravisRoute.extend
# bubble to the top
return true
-Travis.RepoRoute = Route
+`export default Route`
diff --git a/app/routes/repo/index.coffee b/app/routes/repo/index.coffee
index c8770ee7..348425cf 100644
--- a/app/routes/repo/index.coffee
+++ b/app/routes/repo/index.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
setupController: (controller, model) ->
@@ -18,4 +16,4 @@ Route = TravisRoute.extend
@controllerFor('build').set('build', null)
@controllerFor('job').set('job', null)
-Travis.RepoIndexRoute = Route
+`export default Route`
diff --git a/app/routes/request.coffee b/app/routes/request.coffee
index d9b0a5f6..3017c198 100644
--- a/app/routes/request.coffee
+++ b/app/routes/request.coffee
@@ -1,7 +1,4 @@
-require 'routes/basic'
-require 'models/request'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
setupController: ->
@@ -11,4 +8,4 @@ Route = TravisRoute.extend
model: (params) ->
@store.find 'request', params.request_id
-Travis.RequestRoute = Route
+`export default Route`
diff --git a/app/routes/requests.coffee b/app/routes/requests.coffee
index 195d61c4..eced974c 100644
--- a/app/routes/requests.coffee
+++ b/app/routes/requests.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
needsAuth: true
@@ -12,4 +10,4 @@ Route = TravisRoute.extend
model: ->
@store.find 'request', repository_id: @modelFor('repo').get('id')
-Travis.RequestsRoute = Route
+`export default Route`
diff --git a/app/routes/settings.coffee b/app/routes/settings.coffee
index 5318fe2d..aeaae42c 100644
--- a/app/routes/settings.coffee
+++ b/app/routes/settings.coffee
@@ -1,10 +1,8 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
needsAuth: true
setupController: (controller, model) ->
@controllerFor('repo').activate('settings')
-Travis.SettingsRoute = Route
+`export default Route`
diff --git a/app/routes/settings/index.coffee b/app/routes/settings/index.coffee
index dad7b55a..34a8802c 100644
--- a/app/routes/settings/index.coffee
+++ b/app/routes/settings/index.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
model: ->
@@ -8,4 +6,4 @@ Route = TravisRoute.extend
repo.fetchSettings().then (settings) ->
repo.set('settings', settings)
-Travis.SettingsIndexRoute = Route
+`export default Route`
diff --git a/app/routes/simple-layout.coffee b/app/routes/simple-layout.coffee
index 8cf24c90..95540a86 100644
--- a/app/routes/simple-layout.coffee
+++ b/app/routes/simple-layout.coffee
@@ -1,6 +1,4 @@
-require 'routes/basic'
-
-TravisRoute = Travis.BasicRoute
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
setupController: ->
@@ -12,4 +10,4 @@ Route = TravisRoute.extend
renderTemplate: ->
@_super.apply(this, arguments)
-Travis.SimpleLayoutRoute = Route
+`export default Route`
diff --git a/app/routes/ssh-key.coffee b/app/routes/ssh-key.coffee
index a1005137..a8e46251 100644
--- a/app/routes/ssh-key.coffee
+++ b/app/routes/ssh-key.coffee
@@ -1,10 +1,6 @@
-require 'routes/basic'
-require 'models/ssh-key'
-require 'utils/ajax'
-
-SshKey = Travis.SshKey
-Ajax = Travis.ajax
-TravisRoute = Travis.BasicRoute
+`import Ember from 'ember'`
+`import Ajax from 'travis/utils/ajax'`
+`import TravisRoute from 'travis/routes/basic'`
Route = TravisRoute.extend
model: (params) ->
@@ -35,4 +31,4 @@ Route = TravisRoute.extend
@controllerFor('ssh_key').send('cancel')
-Travis.SshKeyRoute = Route
+`export default Route`
diff --git a/app/serializers/account.coffee b/app/serializers/account.coffee
index 0a02c113..e219627d 100644
--- a/app/serializers/account.coffee
+++ b/app/serializers/account.coffee
@@ -1,6 +1,7 @@
-ApplicationSerializer = Travis.ApplicationSerializer
+`import Ember from 'ember'`
+`import ApplicationSerializer from 'travis/serializers/application'`
Serializer = ApplicationSerializer.extend
primaryKey: 'login'
-Travis.AccountSerializer = Serializer
+`export default Serializer`
diff --git a/app/serializers/application.coffee b/app/serializers/application.coffee
index cd97931c..b1916d37 100644
--- a/app/serializers/application.coffee
+++ b/app/serializers/application.coffee
@@ -1,5 +1,7 @@
+`import DS from 'ember-data'`
+
Serializer = DS.ActiveModelSerializer.extend
defaultSerializer: 'application'
serializer: 'application'
-Travis.ApplicationSerializer = Serializer
+`export default Serializer`
diff --git a/app/serializers/build.coffee b/app/serializers/build.coffee
index 31c3d374..97467bf5 100644
--- a/app/serializers/build.coffee
+++ b/app/serializers/build.coffee
@@ -1,4 +1,5 @@
-ApplicationSerializer = Travis.ApplicationSerializer
+`import Ember from 'ember'`
+`import ApplicationSerializer from 'travis/serializers/application'`
Serializer = ApplicationSerializer.extend
attrs: {
@@ -14,4 +15,4 @@ Serializer = ApplicationSerializer.extend
@_super(store, primaryType, rawPayload, recordId)
-Travis.BuildSerializer = Serializer
+`export default Serializer`
diff --git a/app/serializers/env-var.coffee b/app/serializers/env-var.coffee
index ccb4f446..859d7156 100644
--- a/app/serializers/env-var.coffee
+++ b/app/serializers/env-var.coffee
@@ -1,8 +1,9 @@
-ApplicationSerializer = Travis.ApplicationSerializer
+`import Ember from 'ember'`
+`import ApplicationSerializer from 'travis/serializers/application'`
Serializer = ApplicationSerializer.extend
attrs: {
repo: { key: 'repository_id' }
}
-Travis.EnvVarSerializer = Serializer
+`export default Serializer`
diff --git a/app/serializers/job.coffee b/app/serializers/job.coffee
index 11a97079..cb30d176 100644
--- a/app/serializers/job.coffee
+++ b/app/serializers/job.coffee
@@ -1,4 +1,5 @@
-ApplicationSerializer = Travis.ApplicationSerializer
+`import Ember from 'ember'`
+`import ApplicationSerializer from 'travis/serializers/application'`
Serializer = ApplicationSerializer.extend
attrs: {
@@ -14,4 +15,4 @@ Serializer = ApplicationSerializer.extend
@_super(store, primaryType, rawPayload, recordId)
-Travis.JobSerializer = Serializer
+`export default Serializer`
diff --git a/app/serializers/repo.coffee b/app/serializers/repo.coffee
index 3d18fe44..ebdb0287 100644
--- a/app/serializers/repo.coffee
+++ b/app/serializers/repo.coffee
@@ -1,8 +1,9 @@
-ApplicationSerializer = Travis.ApplicationSerializer
+`import Ember from 'ember'`
+`import ApplicationSerializer from 'travis/serializers/application'`
Serializer = ApplicationSerializer.extend
attrs: {
_lastBuildDuration: { key: 'last_build_duration' }
}
-Travis.RepoSerializer = Serializer
+`export default Serializer`
diff --git a/app/serializers/request.coffee b/app/serializers/request.coffee
index 1346e244..0f019e16 100644
--- a/app/serializers/request.coffee
+++ b/app/serializers/request.coffee
@@ -1,4 +1,5 @@
-ApplicationSerializer = Travis.ApplicationSerializer
+`import Ember from 'ember'`
+`import ApplicationSerializer from 'travis/serializers/application'`
Serializer = ApplicationSerializer.extend
attrs: {
@@ -7,4 +8,4 @@ Serializer = ApplicationSerializer.extend
repo: { key: 'repository_id' }
}
-Travis.RequestSerializer = Serializer
+`export default Serializer`
diff --git a/app/store.coffee b/app/store.coffee
index 8dbc15a6..04c7f0d9 100644
--- a/app/store.coffee
+++ b/app/store.coffee
@@ -1,5 +1,7 @@
+`import DS from 'ember-data'`
+
Store = DS.Store.extend
defaultAdapter: 'application'
adapter: 'application'
-Travis.Store = Store
+`export default Store`
diff --git a/app/styles/app.css b/app/styles/app.css
new file mode 100644
index 00000000..9adb5ad0
--- /dev/null
+++ b/app/styles/app.css
@@ -0,0 +1,3 @@
+html, body {
+ margin: 20px;
+}
diff --git a/app/transforms/object.coffee b/app/transforms/object.coffee
index 13fba95d..30c7c698 100644
--- a/app/transforms/object.coffee
+++ b/app/transforms/object.coffee
@@ -1,3 +1,5 @@
+`import DS from 'ember-data'`
+
Transform = DS.Transform.extend
deserialize: (serialized) ->
serialized
@@ -5,4 +7,4 @@ Transform = DS.Transform.extend
serialize: (deserialized) ->
deserialized
-Travis.ObjectTransform = Transform
+`export default Transform`
diff --git a/app/utils/ajax.coffee b/app/utils/ajax.coffee
index 2d21a395..f3562450 100644
--- a/app/utils/ajax.coffee
+++ b/app/utils/ajax.coffee
@@ -1,4 +1,5 @@
-config = ENV.config
+`import Ember from 'ember';`
+`import config from 'travis/config/environment'`
jQuery.support.cors = true
@@ -151,4 +152,4 @@ ajax = Em.Object.create
return promise
-Travis.ajax = ajax
+`export default ajax`
diff --git a/app/utils/auth.coffee b/app/utils/auth.coffee
index 7ef10cf6..9d2c7ff9 100644
--- a/app/utils/auth.coffee
+++ b/app/utils/auth.coffee
@@ -1,5 +1,5 @@
-config = ENV.config
-Ajax = Travis.ajax
+`import config from 'travis/config/environment'`
+`import Ajax from 'travis/utils/ajax'`
Auth = Ember.Object.extend
state: "signed-out"
@@ -144,4 +144,4 @@ Auth = Ember.Object.extend
"#{location.protocol}//www.gravatar.com/avatar/#{@get('currentUser.gravatarId')}?s=48&d=mm"
).property('currentUser.gravatarId')
-window.Auth = Auth
+`export default Auth`
diff --git a/app/utils/computed-limit.js b/app/utils/computed-limit.js
index 57787c03..3d769069 100644
--- a/app/utils/computed-limit.js
+++ b/app/utils/computed-limit.js
@@ -1,4 +1,6 @@
-limit = function(dependentKey, limitKey) {
+import Ember from 'ember';
+
+var limit = function(dependentKey, limitKey) {
var options = {
addedItem: function(array, item, changeMeta, instanceMeta) {
var limit = Ember.get(this, limitKey);
@@ -25,4 +27,4 @@ limit = function(dependentKey, limitKey) {
return Ember.arrayComputed(dependentKey, limitKey, options);
};
-Ember.computed.limit = limit;
+export default limit;
diff --git a/app/utils/duration-calculations.coffee b/app/utils/duration-calculations.coffee
index 366862b6..9ab8369b 100644
--- a/app/utils/duration-calculations.coffee
+++ b/app/utils/duration-calculations.coffee
@@ -1,6 +1,7 @@
-durationFrom = Travis.Helpers.durationFrom
+`import Ember from 'ember'`
+`import { durationFrom } from 'travis/utils/helpers'`
-Travis.DurationCalculations = Ember.Mixin.create
+mixin = Ember.Mixin.create
duration: (->
if @get('notStarted')
null
@@ -14,3 +15,5 @@ Travis.DurationCalculations = Ember.Mixin.create
unless @get('isFinished')
@notifyPropertyChange '_duration'
@notifyPropertyChange 'finished_at'
+
+`export default mixin`
diff --git a/app/utils/emoji-dictionary.coffee b/app/utils/emoji-dictionary.coffee
index 46d0d5d9..5ef923de 100644
--- a/app/utils/emoji-dictionary.coffee
+++ b/app/utils/emoji-dictionary.coffee
@@ -1 +1,3 @@
-@EmojiDictionary = ['+1', '-1', '0', '1', '100', '109', '1234', '2', '3', '4', '5', '6', '7', '8', '8ball', '9', 'a', 'ab', 'abc', 'abcd', 'accept', 'aerial_tramway', 'airplane', 'alarm_clock', 'alien', 'ambulance', 'anchor', 'angel', 'anger', 'angry', 'anguished', 'ant', 'apple', 'aquarius', 'aries', 'arrow_backward', 'arrow_double_down', 'arrow_double_up', 'arrow_down', 'arrow_down_small', 'arrow_forward', 'arrow_heading_down', 'arrow_heading_up', 'arrow_left', 'arrow_lower_left', 'arrow_lower_right', 'arrow_right', 'arrow_right_hook', 'arrow_up', 'arrow_up_down', 'arrow_up_small', 'arrow_upper_left', 'arrow_upper_right', 'arrows_clockwise', 'arrows_counterclockwise', 'art', 'articulated_lorry', 'astonished', 'atm', 'b', 'baby', 'baby_bottle', 'baby_chick', 'baby_symbol', 'baggage_claim', 'balloon', 'ballot_box_with_check', 'bamboo', 'banana', 'bangbang', 'bank', 'bar_chart', 'barber', 'baseball', 'basketball', 'bath', 'bathtub', 'battery', 'bear', 'bee', 'beer', 'beers', 'beetle', 'beginner', 'bell', 'bento', 'bicyclist', 'bike', 'bikini', 'bird', 'birthday', 'black_circle', 'black_joker', 'black_nib', 'black_square', 'black_square_button', 'blossom', 'blowfish', 'blue_book', 'blue_car', 'blue_heart', 'blush', 'boar', 'boat', 'bomb', 'book', 'bookmark', 'bookmark_tabs', 'books', 'boom', 'boot', 'bouquet', 'bow', 'bowling', 'bowtie', 'boy', 'bread', 'bride_with_veil', 'bridge_at_night', 'briefcase', 'broken_heart', 'bug', 'bulb', 'bullettrain_front', 'bullettrain_side', 'bus', 'busstop', 'bust_in_silhouette', 'busts_in_silhouette', 'cactus', 'cake', 'calendar', 'calling', 'camel', 'camera', 'cancer', 'candy', 'capital_abcd', 'capricorn', 'car', 'card_index', 'carousel_horse', 'cat', 'cat2', 'cd', 'chart', 'chart_with_downwards_trend', 'chart_with_upwards_trend', 'checkered_flag', 'cherries', 'cherry_blossom', 'chestnut', 'chicken', 'children_crossing', 'chocolate_bar', 'christmas_tree', 'church', 'cinema', 'circus_tent', 'city_sunrise', 'city_sunset', 'cl', 'clap', 'clapper', 'clipboard', 'clock1', 'clock10', 'clock1030', 'clock11', 'clock1130', 'clock12', 'clock1230', 'clock130', 'clock2', 'clock230', 'clock3', 'clock330', 'clock4', 'clock430', 'clock5', 'clock530', 'clock6', 'clock630', 'clock7', 'clock730', 'clock8', 'clock830', 'clock9', 'clock930', 'closed_book', 'closed_lock_with_key', 'closed_umbrella', 'cloud', 'clubs', 'cn', 'cocktail', 'coffee', 'cold_sweat', 'collision', 'computer', 'confetti_ball', 'confounded', 'confused', 'congratulations', 'construction', 'construction_worker', 'convenience_store', 'cookie', 'cool', 'cop', 'copyright', 'corn', 'couple', 'couple_with_heart', 'couplekiss', 'cow', 'cow2', 'credit_card', 'crocodile', 'crossed_flags', 'crown', 'cry', 'crying_cat_face', 'crystal_ball', 'cupid', 'curly_loop', 'currency_exchange', 'curry', 'custard', 'customs', 'cyclone', 'dancer', 'dancers', 'dango', 'dart', 'dash', 'date', 'de', 'deciduous_tree', 'department_store', 'diamond_shape_with_a_dot_inside', 'diamonds', 'disappointed', 'disappointed_relieved', 'dizzy', 'dizzy_face', 'do_not_litter', 'dog', 'dog2', 'dollar', 'dolls', 'dolphin', 'donut', 'door', 'doughnut', 'dragon', 'dragon_face', 'dress', 'dromedary_camel', 'droplet', 'dvd', 'e-mail', 'ear', 'ear_of_rice', 'earth_africa', 'earth_americas', 'earth_asia', 'egg', 'eggplant', 'eight', 'eight_pointed_black_star', 'eight_spoked_asterisk', 'electric_plug', 'elephant', 'email', 'end', 'envelope', 'es', 'euro', 'european_castle', 'european_post_office', 'evergreen_tree', 'exclamation', 'expressionless', 'eyeglasses', 'eyes', 'facepunch', 'factory', 'fallen_leaf', 'family', 'fast_forward', 'fax', 'fearful', 'feelsgood', 'feet', 'ferris_wheel', 'file_folder', 'finnadie', 'fire', 'fire_engine', 'fireworks', 'first_quarter_moon', 'first_quarter_moon_with_face', 'fish', 'fish_cake', 'fishing_pole_and_fish', 'fist', 'five', 'flags', 'flashlight', 'floppy_disk', 'flower_playing_cards', 'flushed', 'foggy', 'football', 'fork_and_knife', 'fountain', 'four', 'four_leaf_clover', 'fr', 'free', 'fried_shrimp', 'fries', 'frog', 'frowning', 'fu', 'fuelpump', 'full_moon', 'full_moon_with_face', 'game_die', 'gb', 'gem', 'gemini', 'ghost', 'gift', 'gift_heart', 'girl', 'globe_with_meridians', 'goat', 'goberserk', 'godmode', 'golf', 'grapes', 'green_apple', 'green_book', 'green_heart', 'grey_exclamation', 'grey_question', 'grimacing', 'grin', 'grinning', 'guardsman', 'guitar', 'gun', 'haircut', 'hamburger', 'hammer', 'hamster', 'hand', 'handbag', 'hankey', 'hash', 'hatched_chick', 'hatching_chick', 'headphones', 'hear_no_evil', 'heart', 'heart_decoration', 'heart_eyes', 'heart_eyes_cat', 'heartbeat', 'heartpulse', 'hearts', 'heavy_check_mark', 'heavy_division_sign', 'heavy_dollar_sign', 'heavy_exclamation_mark', 'heavy_minus_sign', 'heavy_multiplication_x', 'heavy_plus_sign', 'helicopter', 'herb', 'hibiscus', 'high_brightness', 'high_heel', 'hocho', 'honey_pot', 'honeybee', 'horse', 'horse_racing', 'hospital', 'hotel', 'hotsprings', 'hourglass', 'hourglass_flowing_sand', 'house', 'house_with_garden', 'hurtrealbad', 'hushed', 'ice_cream', 'icecream', 'id', 'ideograph_advantage', 'imp', 'inbox_tray', 'incoming_envelope', 'information_desk_person', 'information_source', 'innocent', 'interrobang', 'iphone', 'it', 'izakaya_lantern', 'jack_o_lantern', 'japan', 'japanese_castle', 'japanese_goblin', 'japanese_ogre', 'jeans', 'joy', 'joy_cat', 'jp', 'key', 'keycap_ten', 'kimono', 'kiss', 'kissing', 'kissing_cat', 'kissing_closed_eyes', 'kissing_face', 'kissing_heart', 'kissing_smiling_eyes', 'koala', 'koko', 'kr', 'large_blue_circle', 'large_blue_diamond', 'large_orange_diamond', 'last_quarter_moon', 'last_quarter_moon_with_face', 'laughing', 'leaves', 'ledger', 'left_luggage', 'left_right_arrow', 'leftwards_arrow_with_hook', 'lemon', 'leo', 'leopard', 'libra', 'light_rail', 'link', 'lips', 'lipstick', 'lock', 'lock_with_ink_pen', 'lollipop', 'loop', 'loudspeaker', 'love_hotel', 'love_letter', 'low_brightness', 'm', 'mag', 'mag_right', 'mahjong', 'mailbox', 'mailbox_closed', 'mailbox_with_mail', 'mailbox_with_no_mail', 'man', 'man_with_gua_pi_mao', 'man_with_turban', 'mans_shoe', 'maple_leaf', 'mask', 'massage', 'meat_on_bone', 'mega', 'melon', 'memo', 'mens', 'metal', 'metro', 'microphone', 'microscope', 'milky_way', 'minibus', 'minidisc', 'mobile_phone_off', 'money_with_wings', 'moneybag', 'monkey', 'monkey_face', 'monorail', 'moon', 'mortar_board', 'mount_fuji', 'mountain_bicyclist', 'mountain_cableway', 'mountain_railway', 'mouse', 'mouse2', 'movie_camera', 'moyai', 'muscle', 'mushroom', 'musical_keyboard', 'musical_note', 'musical_score', 'mute', 'nail_care', 'name_badge', 'neckbeard', 'necktie', 'negative_squared_cross_mark', 'neutral_face', 'new', 'new_moon', 'new_moon_with_face', 'newspaper', 'ng', 'nine', 'no_bell', 'no_bicycles', 'no_entry', 'no_entry_sign', 'no_good', 'no_mobile_phones', 'no_mouth', 'no_pedestrians', 'no_smoking', 'non-potable_water', 'nose', 'notebook', 'notebook_with_decorative_cover', 'notes', 'nut_and_bolt', 'o', 'o2', 'ocean', 'octocat', 'octopus', 'oden', 'office', 'ok', 'ok_hand', 'ok_woman', 'older_man', 'older_woman', 'on', 'oncoming_automobile', 'oncoming_bus', 'oncoming_police_car', 'oncoming_taxi', 'one', 'open_file_folder', 'open_hands', 'open_mouth', 'ophiuchus', 'orange_book', 'outbox_tray', 'ox', 'page_facing_up', 'page_with_curl', 'pager', 'palm_tree', 'panda_face', 'paperclip', 'parking', 'part_alternation_mark', 'partly_sunny', 'passport_control', 'paw_prints', 'peach', 'pear', 'pencil', 'pencil2', 'penguin', 'pensive', 'performing_arts', 'persevere', 'person_frowning', 'person_with_blond_hair', 'person_with_pouting_face', 'phone', 'pig', 'pig2', 'pig_nose', 'pill', 'pineapple', 'pisces', 'pizza', 'plus1', 'point_down', 'point_left', 'point_right', 'point_up', 'point_up_2', 'police_car', 'poodle', 'poop', 'post_office', 'postal_horn', 'postbox', 'potable_water', 'pouch', 'poultry_leg', 'pound', 'pouting_cat', 'pray', 'princess', 'punch', 'purple_heart', 'purse', 'pushpin', 'put_litter_in_its_place', 'question', 'rabbit', 'rabbit2', 'racehorse', 'radio', 'radio_button', 'rage', 'rage1', 'rage2', 'rage3', 'rage4', 'railway_car', 'rainbow', 'raised_hand', 'raised_hands', 'raising_hand', 'ram', 'ramen', 'rat', 'recycle', 'red_car', 'red_circle', 'registered', 'relaxed', 'relieved', 'repeat', 'repeat_one', 'restroom', 'revolving_hearts', 'rewind', 'ribbon', 'rice', 'rice_ball', 'rice_cracker', 'rice_scene', 'ring', 'rocket', 'roller_coaster', 'rooster', 'rose', 'rotating_light', 'round_pushpin', 'rowboat', 'ru', 'rugby_football', 'runner', 'running', 'running_shirt_with_sash', 'sa', 'sagittarius', 'sailboat', 'sake', 'sandal', 'santa', 'satellite', 'satisfied', 'saxophone', 'school', 'school_satchel', 'scissors', 'scorpius', 'scream', 'scream_cat', 'scroll', 'seat', 'secret', 'see_no_evil', 'seedling', 'seven', 'shaved_ice', 'sheep', 'shell', 'ship', 'shipit', 'shirt', 'shit', 'shoe', 'shower', 'signal_strength', 'six', 'six_pointed_star', 'ski', 'skull', 'sleeping', 'sleepy', 'slot_machine', 'small_blue_diamond', 'small_orange_diamond', 'small_red_triangle', 'small_red_triangle_down', 'smile', 'smile_cat', 'smiley', 'smiley_cat', 'smiling_imp', 'smirk', 'smirk_cat', 'smoking', 'snail', 'snake', 'snowboarder', 'snowflake', 'snowman', 'sob', 'soccer', 'soon', 'sos', 'sound', 'space_invader', 'spades', 'spaghetti', 'sparkler', 'sparkles', 'sparkling_heart', 'speak_no_evil', 'speaker', 'speech_balloon', 'speedboat', 'squirrel', 'star', 'star2', 'stars', 'station', 'statue_of_liberty', 'steam_locomotive', 'stew', 'straight_ruler', 'strawberry', 'stuck_out_tongue', 'stuck_out_tongue_closed_eyes', 'stuck_out_tongue_winking_eye', 'sun_with_face', 'sunflower', 'sunglasses', 'sunny', 'sunrise', 'sunrise_over_mountains', 'surfer', 'sushi', 'suspect', 'suspension_railway', 'sweat', 'sweat_drops', 'sweat_smile', 'sweet_potato', 'swimmer', 'symbols', 'syringe', 'tada', 'tanabata_tree', 'tangerine', 'taurus', 'taxi', 'tea', 'telephone', 'telephone_receiver', 'telescope', 'tennis', 'tent', 'thought_balloon', 'three', 'thumbsdown', 'thumbsup', 'ticket', 'tiger', 'tiger2', 'tired_face', 'tm', 'toilet', 'tokyo_tower', 'tomato', 'tongue', 'top', 'tophat', 'tractor', 'traffic_light', 'train', 'train2', 'tram', 'triangular_flag_on_post', 'triangular_ruler', 'trident', 'triumph', 'trolleybus', 'trollface', 'trophy', 'tropical_drink', 'tropical_fish', 'truck', 'trumpet', 'tshirt', 'tulip', 'turtle', 'tv', 'twisted_rightwards_arrows', 'two', 'two_hearts', 'two_men_holding_hands', 'two_women_holding_hands', 'u5272', 'u5408', 'u55b6', 'u6307', 'u6708', 'u6709', 'u6e80', 'u7121', 'u7533', 'u7981', 'u7a7a', 'uk', 'umbrella', 'unamused', 'underage', 'unlock', 'up', 'us', 'v', 'vertical_traffic_light', 'vhs', 'vibration_mode', 'video_camera', 'video_game', 'violin', 'virgo', 'volcano', 'vs', 'walking', 'waning_crescent_moon', 'waning_gibbous_moon', 'warning', 'watch', 'water_buffalo', 'watermelon', 'wave', 'wavy_dash', 'waxing_crescent_moon', 'waxing_gibbous_moon', 'wc', 'weary', 'wedding', 'whale', 'whale2', 'wheelchair', 'white_check_mark', 'white_circle', 'white_flower', 'white_square', 'white_square_button', 'wind_chime', 'wine_glass', 'wink', 'wink2', 'wolf', 'woman', 'womans_clothes', 'womans_hat', 'womens', 'worried', 'wrench', 'x', 'yellow_heart', 'yen', 'yum', 'zap', 'zero', 'zzz']
\ No newline at end of file
+d = ['+1', '-1', '0', '1', '100', '109', '1234', '2', '3', '4', '5', '6', '7', '8', '8ball', '9', 'a', 'ab', 'abc', 'abcd', 'accept', 'aerial_tramway', 'airplane', 'alarm_clock', 'alien', 'ambulance', 'anchor', 'angel', 'anger', 'angry', 'anguished', 'ant', 'apple', 'aquarius', 'aries', 'arrow_backward', 'arrow_double_down', 'arrow_double_up', 'arrow_down', 'arrow_down_small', 'arrow_forward', 'arrow_heading_down', 'arrow_heading_up', 'arrow_left', 'arrow_lower_left', 'arrow_lower_right', 'arrow_right', 'arrow_right_hook', 'arrow_up', 'arrow_up_down', 'arrow_up_small', 'arrow_upper_left', 'arrow_upper_right', 'arrows_clockwise', 'arrows_counterclockwise', 'art', 'articulated_lorry', 'astonished', 'atm', 'b', 'baby', 'baby_bottle', 'baby_chick', 'baby_symbol', 'baggage_claim', 'balloon', 'ballot_box_with_check', 'bamboo', 'banana', 'bangbang', 'bank', 'bar_chart', 'barber', 'baseball', 'basketball', 'bath', 'bathtub', 'battery', 'bear', 'bee', 'beer', 'beers', 'beetle', 'beginner', 'bell', 'bento', 'bicyclist', 'bike', 'bikini', 'bird', 'birthday', 'black_circle', 'black_joker', 'black_nib', 'black_square', 'black_square_button', 'blossom', 'blowfish', 'blue_book', 'blue_car', 'blue_heart', 'blush', 'boar', 'boat', 'bomb', 'book', 'bookmark', 'bookmark_tabs', 'books', 'boom', 'boot', 'bouquet', 'bow', 'bowling', 'bowtie', 'boy', 'bread', 'bride_with_veil', 'bridge_at_night', 'briefcase', 'broken_heart', 'bug', 'bulb', 'bullettrain_front', 'bullettrain_side', 'bus', 'busstop', 'bust_in_silhouette', 'busts_in_silhouette', 'cactus', 'cake', 'calendar', 'calling', 'camel', 'camera', 'cancer', 'candy', 'capital_abcd', 'capricorn', 'car', 'card_index', 'carousel_horse', 'cat', 'cat2', 'cd', 'chart', 'chart_with_downwards_trend', 'chart_with_upwards_trend', 'checkered_flag', 'cherries', 'cherry_blossom', 'chestnut', 'chicken', 'children_crossing', 'chocolate_bar', 'christmas_tree', 'church', 'cinema', 'circus_tent', 'city_sunrise', 'city_sunset', 'cl', 'clap', 'clapper', 'clipboard', 'clock1', 'clock10', 'clock1030', 'clock11', 'clock1130', 'clock12', 'clock1230', 'clock130', 'clock2', 'clock230', 'clock3', 'clock330', 'clock4', 'clock430', 'clock5', 'clock530', 'clock6', 'clock630', 'clock7', 'clock730', 'clock8', 'clock830', 'clock9', 'clock930', 'closed_book', 'closed_lock_with_key', 'closed_umbrella', 'cloud', 'clubs', 'cn', 'cocktail', 'coffee', 'cold_sweat', 'collision', 'computer', 'confetti_ball', 'confounded', 'confused', 'congratulations', 'construction', 'construction_worker', 'convenience_store', 'cookie', 'cool', 'cop', 'copyright', 'corn', 'couple', 'couple_with_heart', 'couplekiss', 'cow', 'cow2', 'credit_card', 'crocodile', 'crossed_flags', 'crown', 'cry', 'crying_cat_face', 'crystal_ball', 'cupid', 'curly_loop', 'currency_exchange', 'curry', 'custard', 'customs', 'cyclone', 'dancer', 'dancers', 'dango', 'dart', 'dash', 'date', 'de', 'deciduous_tree', 'department_store', 'diamond_shape_with_a_dot_inside', 'diamonds', 'disappointed', 'disappointed_relieved', 'dizzy', 'dizzy_face', 'do_not_litter', 'dog', 'dog2', 'dollar', 'dolls', 'dolphin', 'donut', 'door', 'doughnut', 'dragon', 'dragon_face', 'dress', 'dromedary_camel', 'droplet', 'dvd', 'e-mail', 'ear', 'ear_of_rice', 'earth_africa', 'earth_americas', 'earth_asia', 'egg', 'eggplant', 'eight', 'eight_pointed_black_star', 'eight_spoked_asterisk', 'electric_plug', 'elephant', 'email', 'end', 'envelope', 'es', 'euro', 'european_castle', 'european_post_office', 'evergreen_tree', 'exclamation', 'expressionless', 'eyeglasses', 'eyes', 'facepunch', 'factory', 'fallen_leaf', 'family', 'fast_forward', 'fax', 'fearful', 'feelsgood', 'feet', 'ferris_wheel', 'file_folder', 'finnadie', 'fire', 'fire_engine', 'fireworks', 'first_quarter_moon', 'first_quarter_moon_with_face', 'fish', 'fish_cake', 'fishing_pole_and_fish', 'fist', 'five', 'flags', 'flashlight', 'floppy_disk', 'flower_playing_cards', 'flushed', 'foggy', 'football', 'fork_and_knife', 'fountain', 'four', 'four_leaf_clover', 'fr', 'free', 'fried_shrimp', 'fries', 'frog', 'frowning', 'fu', 'fuelpump', 'full_moon', 'full_moon_with_face', 'game_die', 'gb', 'gem', 'gemini', 'ghost', 'gift', 'gift_heart', 'girl', 'globe_with_meridians', 'goat', 'goberserk', 'godmode', 'golf', 'grapes', 'green_apple', 'green_book', 'green_heart', 'grey_exclamation', 'grey_question', 'grimacing', 'grin', 'grinning', 'guardsman', 'guitar', 'gun', 'haircut', 'hamburger', 'hammer', 'hamster', 'hand', 'handbag', 'hankey', 'hash', 'hatched_chick', 'hatching_chick', 'headphones', 'hear_no_evil', 'heart', 'heart_decoration', 'heart_eyes', 'heart_eyes_cat', 'heartbeat', 'heartpulse', 'hearts', 'heavy_check_mark', 'heavy_division_sign', 'heavy_dollar_sign', 'heavy_exclamation_mark', 'heavy_minus_sign', 'heavy_multiplication_x', 'heavy_plus_sign', 'helicopter', 'herb', 'hibiscus', 'high_brightness', 'high_heel', 'hocho', 'honey_pot', 'honeybee', 'horse', 'horse_racing', 'hospital', 'hotel', 'hotsprings', 'hourglass', 'hourglass_flowing_sand', 'house', 'house_with_garden', 'hurtrealbad', 'hushed', 'ice_cream', 'icecream', 'id', 'ideograph_advantage', 'imp', 'inbox_tray', 'incoming_envelope', 'information_desk_person', 'information_source', 'innocent', 'interrobang', 'iphone', 'it', 'izakaya_lantern', 'jack_o_lantern', 'japan', 'japanese_castle', 'japanese_goblin', 'japanese_ogre', 'jeans', 'joy', 'joy_cat', 'jp', 'key', 'keycap_ten', 'kimono', 'kiss', 'kissing', 'kissing_cat', 'kissing_closed_eyes', 'kissing_face', 'kissing_heart', 'kissing_smiling_eyes', 'koala', 'koko', 'kr', 'large_blue_circle', 'large_blue_diamond', 'large_orange_diamond', 'last_quarter_moon', 'last_quarter_moon_with_face', 'laughing', 'leaves', 'ledger', 'left_luggage', 'left_right_arrow', 'leftwards_arrow_with_hook', 'lemon', 'leo', 'leopard', 'libra', 'light_rail', 'link', 'lips', 'lipstick', 'lock', 'lock_with_ink_pen', 'lollipop', 'loop', 'loudspeaker', 'love_hotel', 'love_letter', 'low_brightness', 'm', 'mag', 'mag_right', 'mahjong', 'mailbox', 'mailbox_closed', 'mailbox_with_mail', 'mailbox_with_no_mail', 'man', 'man_with_gua_pi_mao', 'man_with_turban', 'mans_shoe', 'maple_leaf', 'mask', 'massage', 'meat_on_bone', 'mega', 'melon', 'memo', 'mens', 'metal', 'metro', 'microphone', 'microscope', 'milky_way', 'minibus', 'minidisc', 'mobile_phone_off', 'money_with_wings', 'moneybag', 'monkey', 'monkey_face', 'monorail', 'moon', 'mortar_board', 'mount_fuji', 'mountain_bicyclist', 'mountain_cableway', 'mountain_railway', 'mouse', 'mouse2', 'movie_camera', 'moyai', 'muscle', 'mushroom', 'musical_keyboard', 'musical_note', 'musical_score', 'mute', 'nail_care', 'name_badge', 'neckbeard', 'necktie', 'negative_squared_cross_mark', 'neutral_face', 'new', 'new_moon', 'new_moon_with_face', 'newspaper', 'ng', 'nine', 'no_bell', 'no_bicycles', 'no_entry', 'no_entry_sign', 'no_good', 'no_mobile_phones', 'no_mouth', 'no_pedestrians', 'no_smoking', 'non-potable_water', 'nose', 'notebook', 'notebook_with_decorative_cover', 'notes', 'nut_and_bolt', 'o', 'o2', 'ocean', 'octocat', 'octopus', 'oden', 'office', 'ok', 'ok_hand', 'ok_woman', 'older_man', 'older_woman', 'on', 'oncoming_automobile', 'oncoming_bus', 'oncoming_police_car', 'oncoming_taxi', 'one', 'open_file_folder', 'open_hands', 'open_mouth', 'ophiuchus', 'orange_book', 'outbox_tray', 'ox', 'page_facing_up', 'page_with_curl', 'pager', 'palm_tree', 'panda_face', 'paperclip', 'parking', 'part_alternation_mark', 'partly_sunny', 'passport_control', 'paw_prints', 'peach', 'pear', 'pencil', 'pencil2', 'penguin', 'pensive', 'performing_arts', 'persevere', 'person_frowning', 'person_with_blond_hair', 'person_with_pouting_face', 'phone', 'pig', 'pig2', 'pig_nose', 'pill', 'pineapple', 'pisces', 'pizza', 'plus1', 'point_down', 'point_left', 'point_right', 'point_up', 'point_up_2', 'police_car', 'poodle', 'poop', 'post_office', 'postal_horn', 'postbox', 'potable_water', 'pouch', 'poultry_leg', 'pound', 'pouting_cat', 'pray', 'princess', 'punch', 'purple_heart', 'purse', 'pushpin', 'put_litter_in_its_place', 'question', 'rabbit', 'rabbit2', 'racehorse', 'radio', 'radio_button', 'rage', 'rage1', 'rage2', 'rage3', 'rage4', 'railway_car', 'rainbow', 'raised_hand', 'raised_hands', 'raising_hand', 'ram', 'ramen', 'rat', 'recycle', 'red_car', 'red_circle', 'registered', 'relaxed', 'relieved', 'repeat', 'repeat_one', 'restroom', 'revolving_hearts', 'rewind', 'ribbon', 'rice', 'rice_ball', 'rice_cracker', 'rice_scene', 'ring', 'rocket', 'roller_coaster', 'rooster', 'rose', 'rotating_light', 'round_pushpin', 'rowboat', 'ru', 'rugby_football', 'runner', 'running', 'running_shirt_with_sash', 'sa', 'sagittarius', 'sailboat', 'sake', 'sandal', 'santa', 'satellite', 'satisfied', 'saxophone', 'school', 'school_satchel', 'scissors', 'scorpius', 'scream', 'scream_cat', 'scroll', 'seat', 'secret', 'see_no_evil', 'seedling', 'seven', 'shaved_ice', 'sheep', 'shell', 'ship', 'shipit', 'shirt', 'shit', 'shoe', 'shower', 'signal_strength', 'six', 'six_pointed_star', 'ski', 'skull', 'sleeping', 'sleepy', 'slot_machine', 'small_blue_diamond', 'small_orange_diamond', 'small_red_triangle', 'small_red_triangle_down', 'smile', 'smile_cat', 'smiley', 'smiley_cat', 'smiling_imp', 'smirk', 'smirk_cat', 'smoking', 'snail', 'snake', 'snowboarder', 'snowflake', 'snowman', 'sob', 'soccer', 'soon', 'sos', 'sound', 'space_invader', 'spades', 'spaghetti', 'sparkler', 'sparkles', 'sparkling_heart', 'speak_no_evil', 'speaker', 'speech_balloon', 'speedboat', 'squirrel', 'star', 'star2', 'stars', 'station', 'statue_of_liberty', 'steam_locomotive', 'stew', 'straight_ruler', 'strawberry', 'stuck_out_tongue', 'stuck_out_tongue_closed_eyes', 'stuck_out_tongue_winking_eye', 'sun_with_face', 'sunflower', 'sunglasses', 'sunny', 'sunrise', 'sunrise_over_mountains', 'surfer', 'sushi', 'suspect', 'suspension_railway', 'sweat', 'sweat_drops', 'sweat_smile', 'sweet_potato', 'swimmer', 'symbols', 'syringe', 'tada', 'tanabata_tree', 'tangerine', 'taurus', 'taxi', 'tea', 'telephone', 'telephone_receiver', 'telescope', 'tennis', 'tent', 'thought_balloon', 'three', 'thumbsdown', 'thumbsup', 'ticket', 'tiger', 'tiger2', 'tired_face', 'tm', 'toilet', 'tokyo_tower', 'tomato', 'tongue', 'top', 'tophat', 'tractor', 'traffic_light', 'train', 'train2', 'tram', 'triangular_flag_on_post', 'triangular_ruler', 'trident', 'triumph', 'trolleybus', 'trollface', 'trophy', 'tropical_drink', 'tropical_fish', 'truck', 'trumpet', 'tshirt', 'tulip', 'turtle', 'tv', 'twisted_rightwards_arrows', 'two', 'two_hearts', 'two_men_holding_hands', 'two_women_holding_hands', 'u5272', 'u5408', 'u55b6', 'u6307', 'u6708', 'u6709', 'u6e80', 'u7121', 'u7533', 'u7981', 'u7a7a', 'uk', 'umbrella', 'unamused', 'underage', 'unlock', 'up', 'us', 'v', 'vertical_traffic_light', 'vhs', 'vibration_mode', 'video_camera', 'video_game', 'violin', 'virgo', 'volcano', 'vs', 'walking', 'waning_crescent_moon', 'waning_gibbous_moon', 'warning', 'watch', 'water_buffalo', 'watermelon', 'wave', 'wavy_dash', 'waxing_crescent_moon', 'waxing_gibbous_moon', 'wc', 'weary', 'wedding', 'whale', 'whale2', 'wheelchair', 'white_check_mark', 'white_circle', 'white_flower', 'white_square', 'white_square_button', 'wind_chime', 'wine_glass', 'wink', 'wink2', 'wolf', 'woman', 'womans_clothes', 'womans_hat', 'womens', 'worried', 'wrench', 'x', 'yellow_heart', 'yen', 'yum', 'zap', 'zero', 'zzz']
+
+`export default d`
diff --git a/app/utils/expandable-record-array.coffee b/app/utils/expandable-record-array.coffee
index 62237a26..2c39195b 100644
--- a/app/utils/expandable-record-array.coffee
+++ b/app/utils/expandable-record-array.coffee
@@ -1,4 +1,6 @@
-Travis.ExpandableRecordArray = DS.RecordArray.extend
+`import Ember from 'ember'`
+
+ExpandableRecordArray = Ember.ArrayProxy.extend
isLoaded: false
isLoading: false
@@ -46,3 +48,5 @@ Travis.ExpandableRecordArray = DS.RecordArray.extend
pushObject: (record) ->
if content = @get('content')
content.pushObject(record) unless content.contains(record)
+
+`export default ExpandableRecordArray`
diff --git a/app/utils/helpers.coffee b/app/utils/helpers.coffee
index 5234ae3d..a83a6de3 100644
--- a/app/utils/helpers.coffee
+++ b/app/utils/helpers.coffee
@@ -1,8 +1,8 @@
-require 'config/emoij'
+`import emojiDictionary from 'travis/utils/emoji-dictionary'`
+`import { githubCommit as githubCommitUrl } from 'travis/utils/urls'`
+`import configKeysMap from 'travis/utils/keys-map'`
+`import config from 'travis/config/environment'`
-configKeysMap = Travis.configKeysMap
-config = ENV.config
-githubCommitUrl = Travis.Urls.githubCommit
timeago = $.timeago
mapObject = $.map
@@ -73,7 +73,7 @@ formatMessage = (message, options) ->
message
timeAgoInWords = (date) ->
- timeago.distanceInWords date
+ timeago date if date
durationFrom = (started, finished) ->
started = started and _toUtc(new Date(_normalizeDateString(started)))
@@ -159,17 +159,7 @@ configKeys = (config) ->
pathFrom = (url) ->
(url || '').split('/').pop()
-Travis.Helpers =
- configKeys: configKeys
- githubify: githubify
- timeInWords: timeInWords
- durationFrom: durationFrom
- timeAgoInWords: timeAgoInWords
- formatMessage: formatMessage
- formatConfig: formatConfig
- formatSha: formatSha
- formatCommit: formatCommit
- colorForState: colorForState
- safe: safe
- compact: compact
- pathFrom: pathFrom
+`export {
+ configKeys, githubify, timeInWords, durationFrom, timeAgoInWords, formatMessage, formatConfig,
+ formatSha, formatCommit, colorForState, safe, compact, pathFrom
+}`
diff --git a/app/utils/keys-map.coffee b/app/utils/keys-map.coffee
index d9a5c572..849bc42a 100644
--- a/app/utils/keys-map.coffee
+++ b/app/utils/keys-map.coffee
@@ -1,4 +1,4 @@
-keys = {
+configKeysMap = {
go: 'Go'
rvm: 'Ruby'
gemfile: 'Gemfile'
@@ -22,4 +22,4 @@ keys = {
dart: 'Dart'
}
-Travis.CONFIG_KEYS_MAP = keys
+`export default configKeysMap`
diff --git a/app/utils/limited-array.coffee b/app/utils/limited-array.coffee
index 08d9b41d..af6637aa 100644
--- a/app/utils/limited-array.coffee
+++ b/app/utils/limited-array.coffee
@@ -1,4 +1,5 @@
-limit = Ember.computed.limit
+`import Ember from 'ember'`
+`import limit from 'travis/utils/computed-limit'`
LimitedArray = Ember.ArrayProxy.extend
limit: 10
@@ -24,4 +25,4 @@ LimitedArray = Ember.ArrayProxy.extend
showAll: ->
@set 'limit', Infinity
-Travis.LimitedArray = LimitedArray
+`export default LimitedArray`
diff --git a/app/utils/lines-selector.coffee b/app/utils/lines-selector.coffee
index a70008ad..3ef1e545 100644
--- a/app/utils/lines-selector.coffee
+++ b/app/utils/lines-selector.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
class LinesSelector
Location:
getHash: ->
@@ -72,4 +74,4 @@ class LinesSelector
last = match[3] || match[1]
{first: first, last: last}
-Travis.LinesSelector = LinesSelector
+`export default LinesSelector`
diff --git a/app/utils/location.coffee b/app/utils/location.coffee
index 034fd83f..b48b12a3 100644
--- a/app/utils/location.coffee
+++ b/app/utils/location.coffee
@@ -1,4 +1,4 @@
-Travis.Location = Ember.HistoryLocation.extend
+Location = Ember.HistoryLocation.extend
getURL: ->
location = @get('location')
location.pathname + location.hash
diff --git a/app/utils/log-chunks.coffee b/app/utils/log-chunks.coffee
index 3689ba50..9c1abd11 100644
--- a/app/utils/log-chunks.coffee
+++ b/app/utils/log-chunks.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
LogChunks = Ember.ArrayProxy.extend
timeout: 30000
@@ -81,4 +83,4 @@ LogChunks = Ember.ArrayProxy.extend
@tryFinalizing()
@resetTimeout()
-Travis.LogChunks = LogChunks
+`export default LogChunks`
diff --git a/app/utils/log-folder.coffee b/app/utils/log-folder.coffee
index 22b7e86e..78a01410 100644
--- a/app/utils/log-folder.coffee
+++ b/app/utils/log-folder.coffee
@@ -23,4 +23,4 @@ class LogFolder
getFolderFromLine: (line) ->
line.parent('.fold')
- Travis.LogFolder = LogFolder
+`export default LogFolder`
diff --git a/app/utils/pusher.coffee b/app/utils/pusher.coffee
index c124bcae..84aaef3c 100644
--- a/app/utils/pusher.coffee
+++ b/app/utils/pusher.coffee
@@ -1,4 +1,4 @@
-config = ENV.config
+`import config from 'travis/config/environment'`
TravisPusher = (config) ->
@init(config)
@@ -167,4 +167,4 @@ if config.pro
]
]
-Travis.Pusher = TravisPusher
+`export default TravisPusher`
diff --git a/app/utils/slider.coffee b/app/utils/slider.coffee
index 6db9eb2c..cfccf992 100644
--- a/app/utils/slider.coffee
+++ b/app/utils/slider.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Slider = (storage) ->
@minimize() if storage.getItem('travis.maximized') == 'true'
this
@@ -19,4 +21,4 @@ Slider.prototype.toggle = ->
$('#top .profile').append(element)
Ember.run.later (-> element.remove()), 10
-Travis.Slider = Slider
+`export default Slider`
diff --git a/app/utils/status-image-formats.coffee b/app/utils/status-image-formats.coffee
index 6d95186e..58952dc1 100644
--- a/app/utils/status-image-formats.coffee
+++ b/app/utils/status-image-formats.coffee
@@ -1,7 +1,4 @@
-require 'utils/urls'
-
-ccXmlUrl = Travis.Urls.ccXml
-statusImageUrl = Travis.Urls.statusImage
+`import { ccXml as ccXmlUrl, statusImage as statusImageUrl } from 'travis/utils/urls'`
urlRepo = ( (slug) ->
"https://#{location.host}/#{slug}"
@@ -49,7 +46,4 @@ format = (version, slug, branch) ->
when 'CCTray' then ccxmlStatusUrl(url, slug, branch)
-
-Travis.StatusImageFormats = {
- format: format
-}
+`export default format`
diff --git a/app/utils/tailing.coffee b/app/utils/tailing.coffee
index bdecc272..46df53c8 100644
--- a/app/utils/tailing.coffee
+++ b/app/utils/tailing.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
class Tailing
options:
timeout: 200
@@ -62,4 +64,4 @@ class Tailing
else
tail.css(top: 0)
-Travis.Tailing = Tailing
+`export default Tailing`
diff --git a/app/utils/to-top.coffee b/app/utils/to-top.coffee
index fd255a4b..abc21925 100644
--- a/app/utils/to-top.coffee
+++ b/app/utils/to-top.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
class ToTop
# NOTE: I could have probably extract fixed positioning from
# Tailing, but then I would need to parametrize positionElement
@@ -32,4 +34,4 @@ class ToTop
else
element.css(bottom: 2)
-Travis.ToTop = ToTop
+`export default ToTop`
diff --git a/app/utils/urls.coffee b/app/utils/urls.coffee
index 57811a1d..1f6d53c2 100644
--- a/app/utils/urls.coffee
+++ b/app/utils/urls.coffee
@@ -1,4 +1,4 @@
-config = ENV.config
+`import config from 'travis/config/environment'`
plainTextLog = (id) ->
"#{config.api_endpoint}/jobs/#{id}/log.txt?deansi=true"
@@ -41,16 +41,4 @@ email = (email) ->
gravatarImage = (email, size) ->
"https://www.gravatar.com/avatar/#{md5(email)}?s=#{size}&d=#{encodeURIComponent(config.avatar_default_url)}"
-Travis.Urls = {
- plainTextLog: plainTextLog,
- githubPullRequest: githubPullRequest,
- githubCommit: githubCommit,
- githubRepo: githubRepo,
- githubWatchers: githubWatchers,
- githubNetwork: githubNetwork,
- githubAdmin: githubAdmin,
- statusImage: statusImage,
- ccXml: ccXml,
- email: email,
- gravatarImage: gravatarImage
-}
+`export { plainTextLog, githubPullRequest, githubCommit, githubRepo, githubWatchers, githubNetwork, githubAdmin, statusImage, ccXml, email, gravatarImage }`
diff --git a/app/utils/validations.coffee b/app/utils/validations.coffee
index 23d696dd..be4998f3 100644
--- a/app/utils/validations.coffee
+++ b/app/utils/validations.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
Error = Ember.Object.extend
message: (->
switch code = @get('code')
@@ -88,4 +90,4 @@ Validations = Ember.Mixin.create
for error in errors
@get('errors').add(error.field, error.code)
-Travis.Validations = Validations
+`export default Validations`
diff --git a/app/vendor/log.js b/app/vendor/log.js
index 496e44d1..6f1074a4 100644
--- a/app/vendor/log.js
+++ b/app/vendor/log.js
@@ -1072,4 +1072,4 @@ Log.extend(Log.Renderer.prototype, {
}
});
-window.Log = Log;
+export default Log;
diff --git a/app/views/.gitkeep b/app/views/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/app/views/accounts-info.coffee b/app/views/accounts-info.coffee
index e2b8a067..ac252392 100644
--- a/app/views/accounts-info.coffee
+++ b/app/views/accounts-info.coffee
@@ -1,4 +1,4 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
templateName: 'profile/tabs/user'
@@ -8,4 +8,4 @@ View = BasicView.extend
"#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=200&d=mm"
).property('user.gravatarId')
-AccountsInfoView = View
+`export default View`
diff --git a/app/views/accounts-list.coffee b/app/views/accounts-list.coffee
index 6a0ee89e..3594b904 100644
--- a/app/views/accounts-list.coffee
+++ b/app/views/accounts-list.coffee
@@ -1,4 +1,5 @@
-accountUrl = Travis.Urls.account
+`import Ember from 'ember'`
+`import { account as accountUrl } from 'travis/utils/urls'`
View = Ember.CollectionView.extend
elementId: 'accounts'
@@ -27,4 +28,4 @@ View = Ember.CollectionView.extend
click: ->
@get('controller').transitionToRoute("account", @get('account.login'))
-AccountsListView = View
+`export default View`
diff --git a/app/views/annotation.coffee b/app/views/annotation.coffee
index 3ae89392..e5c1f2c2 100644
--- a/app/views/annotation.coffee
+++ b/app/views/annotation.coffee
@@ -1,6 +1,6 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
templateName: 'annotations/list'
-Travis.AnnotationsView = View
+`export default View`
diff --git a/app/views/annotations.coffee b/app/views/annotations.coffee
index 5045bd7d..46fb86a2 100644
--- a/app/views/annotations.coffee
+++ b/app/views/annotations.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
View = Ember.View.extend()
-Travis.AnnotationsView = View
+`export default View`
diff --git a/app/views/application.coffee b/app/views/application.coffee
index f6581f30..d14ffb73 100644
--- a/app/views/application.coffee
+++ b/app/views/application.coffee
@@ -1,4 +1,4 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
classNames: ['application']
@@ -16,4 +16,4 @@ View = BasicView.extend
if ! targetAndParents.hasClass('menu') && !targetAndParents.is('#tools > a')
$('.menu').removeClass('display')
-ApplicationView = View
+`export default View`
diff --git a/app/views/application/loading.coffee b/app/views/application/loading.coffee
index 1d75faac..524f31d2 100644
--- a/app/views/application/loading.coffee
+++ b/app/views/application/loading.coffee
@@ -1,7 +1,5 @@
-require 'views/basic'
+`import BasicView from 'travis/views/basic'`
-TravisView = Travis.BasicView
+View = BasicView.extend()
-View = TravisView.extend()
-
-Travis.LoadingView = View
+`export default View`
diff --git a/app/views/auth/signin.coffee b/app/views/auth/signin.coffee
index db0b7772..05804613 100644
--- a/app/views/auth/signin.coffee
+++ b/app/views/auth/signin.coffee
@@ -1,4 +1,6 @@
+`import Ember from 'ember'`
+
View = Ember.View.extend
layoutName: 'layouts/simple'
-Travis.AuthSigninView = View
+`export default View`
diff --git a/app/views/basic.coffee b/app/views/basic.coffee
index abbee406..c302c38b 100644
--- a/app/views/basic.coffee
+++ b/app/views/basic.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
View = Ember.View.extend
actions:
popup: (name) -> @popup(name)
@@ -16,5 +18,4 @@ View = Ember.View.extend
$('.popup').removeClass('display')
-Travis.BasicView = View
-Travis.View = View
+`export default View`
diff --git a/app/views/build.coffee b/app/views/build.coffee
index 1e062f38..c1921190 100644
--- a/app/views/build.coffee
+++ b/app/views/build.coffee
@@ -1,5 +1,5 @@
-colorForState = Travis.Helpers.colorForState
-BasicView = Travis.BasicView
+`import { colorForState } from 'travis/utils/helpers'`
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
classNameBindings: ['color', 'loading']
@@ -10,4 +10,4 @@ View = BasicView.extend
colorForState(@get('build.state'))
).property('build.state')
-Travis.BuildView = View
+`export default View`
diff --git a/app/views/dashboard.coffee b/app/views/dashboard.coffee
index 09081a55..2bad9c73 100644
--- a/app/views/dashboard.coffee
+++ b/app/views/dashboard.coffee
@@ -1,7 +1,7 @@
-require 'views/basic'
+`import Ember from 'ember'`
View = Ember.View.extend
layoutName: 'layouts/dashboard'
classNames: ['dashboard']
-Travis.DashboardView = View
+`export default View`
diff --git a/app/views/dashboard/loading.coffee b/app/views/dashboard/loading.coffee
index 850bed48..2bad9c73 100644
--- a/app/views/dashboard/loading.coffee
+++ b/app/views/dashboard/loading.coffee
@@ -1,5 +1,7 @@
+`import Ember from 'ember'`
+
View = Ember.View.extend
layoutName: 'layouts/dashboard'
classNames: ['dashboard']
-Travis.DasboardLoadingView = View
+`export default View`
diff --git a/app/views/first-sync.coffee b/app/views/first-sync.coffee
index 18934520..a33e0330 100644
--- a/app/views/first-sync.coffee
+++ b/app/views/first-sync.coffee
@@ -1,6 +1,6 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
layoutName: 'layouts/simple'
-Travis.FirstSyncView = View
+`export default View`
diff --git a/app/views/flash-item.coffee b/app/views/flash-item.coffee
index 7ae2bc66..9b8107f4 100644
--- a/app/views/flash-item.coffee
+++ b/app/views/flash-item.coffee
@@ -1,4 +1,4 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
tagName: 'li'
@@ -12,4 +12,4 @@ View = BasicView.extend
close: ->
@get('controller').close(@get('flash'))
-FlashItemView = View
+`export default View`
diff --git a/app/views/flash.coffee b/app/views/flash.coffee
index 7bad9961..f23d3fc6 100644
--- a/app/views/flash.coffee
+++ b/app/views/flash.coffee
@@ -1,8 +1,8 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
classNames: ['flash']
- tagName: 'ul'
+ tagname: 'ul'
templateName: 'layouts/flash'
-Travis.FlashView = View
+`export default View`
diff --git a/app/views/hooks.coffee b/app/views/hooks.coffee
index bdca93a9..0f2b8b8b 100644
--- a/app/views/hooks.coffee
+++ b/app/views/hooks.coffee
@@ -1,5 +1,5 @@
-BasicView = Travis.BasicView
-githubAdminUrl = Travis.Urls.githubAdmin
+`import BasicView from 'travis/views/basic'`
+`import { githubAdmin as githubAdminUrl } from 'travis/utils/urls'`
View = BasicView.extend
templateName: 'profile/tabs/hooks'
@@ -9,4 +9,4 @@ View = BasicView.extend
githubAdminUrl(@get('hook.slug'))
).property('hook.slug')
-HooksView = View
+`export default View`
diff --git a/app/views/insufficient-oauth-permissions.coffee b/app/views/insufficient-oauth-permissions.coffee
index 9036a417..a33e0330 100644
--- a/app/views/insufficient-oauth-permissions.coffee
+++ b/app/views/insufficient-oauth-permissions.coffee
@@ -1,4 +1,6 @@
-View = Travis.BasicView.extend
+`import BasicView from 'travis/views/basic'`
+
+View = BasicView.extend
layoutName: 'layouts/simple'
-Travis.InsufficientOauthPermissionsView = View
+`export default View`
diff --git a/app/views/job.coffee b/app/views/job.coffee
index 482fbb6f..8eaeeafb 100644
--- a/app/views/job.coffee
+++ b/app/views/job.coffee
@@ -1,6 +1,6 @@
-colorForState = Travis.Helpers.colorForState
-githubCommit = Travis.Urls.githubCommit
-gravatarImage = Travis.Urls.gravatarImage
+`import Ember from 'ember'`
+`import { colorForState } from 'travis/utils/helpers'`
+`import { githubCommit, gravatarImage } from 'travis/utils/urls'`
View = Ember.View.extend
repoBinding: 'controller.repo'
@@ -26,4 +26,4 @@ View = Ember.View.extend
gravatarImage(@get('commit.authorEmail'), 40)
).property('commit.authorEmail')
-Travis.JobView = View
+`export default View`
diff --git a/app/views/jobs-item.coffee b/app/views/jobs-item.coffee
index e9ca8e8d..bcf55e6c 100644
--- a/app/views/jobs-item.coffee
+++ b/app/views/jobs-item.coffee
@@ -1,5 +1,5 @@
-colorForState = Travis.Helpers.colorForState
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
+`import { colorForState } from 'travis/utils/helpers'`
View = BasicView.extend
tagName: 'tr'
@@ -11,4 +11,4 @@ View = BasicView.extend
colorForState(@get('job.state'))
).property('job.state')
-Travis.JobsItemView = View
+`export default View`
diff --git a/app/views/jobs.coffee b/app/views/jobs.coffee
index f8874809..ec805629 100644
--- a/app/views/jobs.coffee
+++ b/app/views/jobs.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
View = Ember.View.extend
templateName: 'jobs'
buildBinding: 'controller.build'
@@ -17,4 +19,4 @@ View = Ember.View.extend
@popupCloseAll()
@popup('help-allowed_failures')
-Travis.JobsView = View
+`export default View`
diff --git a/app/views/log.coffee b/app/views/log.coffee
index 9b6a0a36..4591adfe 100644
--- a/app/views/log.coffee
+++ b/app/views/log.coffee
@@ -1,8 +1,5 @@
-BasicView = Travis.BasicView
-
-Log.DEBUG = false
-Log.LIMIT = 10000
-config = ENV.config
+`import BasicView from 'travis/views/basic'`
+`import config from 'travis/config/environment'`
View = BasicView.extend
templateName: 'jobs/log'
@@ -32,4 +29,4 @@ View = BasicView.extend
job.get('log').fetch()
job.subscribe()
-Travis.LogView = View
+`export default View`
diff --git a/app/views/main.coffee b/app/views/main.coffee
index 19b6bf91..bc56cfd7 100644
--- a/app/views/main.coffee
+++ b/app/views/main.coffee
@@ -1,5 +1,7 @@
-View = Travis.BasicView.extend
+`import Ember from 'ember'`
+
+View = Ember.View.extend
layoutName: 'layouts/home'
classNames: ['main']
-Travis.MainView = View
+`export default View`
diff --git a/app/views/not-found.coffee b/app/views/not-found.coffee
index f616d9dd..05804613 100644
--- a/app/views/not-found.coffee
+++ b/app/views/not-found.coffee
@@ -1,4 +1,6 @@
+`import Ember from 'ember'`
+
View = Ember.View.extend
layoutName: 'layouts/simple'
-Travis.NotFoundView = View
+`export default View`
diff --git a/app/views/pre.coffee b/app/views/pre.coffee
index d7bb8d48..c60fba81 100644
--- a/app/views/pre.coffee
+++ b/app/views/pre.coffee
@@ -1,10 +1,11 @@
-require 'utils/lines-selector'
-require 'utils/log-folder'
+`import LinesSelector from 'travis/utils/lines-selector'`
+`import LogFolder from 'travis/utils/log-folder'`
+`import config from 'travis/config/environment'`
+`import { plainTextLog as plainTextLogUrl } from 'travis/utils/urls'`
+`import Log from 'travis/vendor/log'`
-config = ENV.config
-plainTextLogUrl = Travis.Urls.plainTextLog
-LogFolder = Travis.LogFolder
-LinesSelector = Travis.LinesSelector
+Log.DEBUG = false
+Log.LIMIT = 10000
Log.Scroll = (options) ->
options ||= {}
@@ -110,4 +111,5 @@ View = Ember.View.extend
noop: -> # TODO required?
+`export default View`
Travis.PreView = View
diff --git a/app/views/profile-accounts.coffee b/app/views/profile-accounts.coffee
index c76b8e47..05836e6c 100644
--- a/app/views/profile-accounts.coffee
+++ b/app/views/profile-accounts.coffee
@@ -1,4 +1,4 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
tabBinding: 'controller.tab'
@@ -8,4 +8,4 @@ View = BasicView.extend
).property('tab')
-ProfileAccountsView = View
+`export default View`
diff --git a/app/views/profile-tabs.coffee b/app/views/profile-tabs.coffee
index fda52920..9a195b6a 100644
--- a/app/views/profile-tabs.coffee
+++ b/app/views/profile-tabs.coffee
@@ -1,4 +1,4 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
templateName: 'profile/tabs'
@@ -19,4 +19,4 @@ View = BasicView.extend
@get('controller.account.login') == @get('controller.user.login')
).property('controller.account.login', 'controller.user.login')
-ProfileTabsView = View
+`export default View`
diff --git a/app/views/profile.coffee b/app/views/profile.coffee
index cb59eb84..f9a218b3 100644
--- a/app/views/profile.coffee
+++ b/app/views/profile.coffee
@@ -1,4 +1,4 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
templateName: 'profile/show'
@@ -12,4 +12,4 @@ View = BasicView.extend
@get('account.name') || @get('account.login')
).property('account.name', 'account.login')
-ProfileView = View
+`export default View`
diff --git a/app/views/repo-actions.coffee b/app/views/repo-actions.coffee
index 2dd9db61..5dbd2908 100644
--- a/app/views/repo-actions.coffee
+++ b/app/views/repo-actions.coffee
@@ -1,6 +1,9 @@
-config = ENV.config
+`import Ember from 'ember'`
+`import { plainTextLog as plainTextLogUrl } from 'travis/utils/urls'`
+`import Job from 'travis/models/job'`
+`import config from 'travis/config/environment'`
-View = Travis.BasicView.extend
+View = Ember.View.extend
templateName: 'repos/show/actions'
repoBinding: 'controller.repo'
@@ -117,7 +120,7 @@ View = Travis.BasicView.extend
plainTextLogUrl: (->
if id = @get('jobIdForLog')
- url = Travis.Urls.plainTextLog(id)
+ url = plainTextLogUrl(id)
if config.pro
token = @get('job.log.token') || @get('build.jobs.firstObject.log.token')
url += "&access_token=#{token}"
@@ -170,4 +173,4 @@ View = Travis.BasicView.extend
@set('requeueing', true)
thing.requeue().then(this.requeueFinished.bind(this), this.requeueFinished.bind(this))
-Travis.RepoActionsView = View
+`export default View`
diff --git a/app/views/repo-show-tabs.coffee b/app/views/repo-show-tabs.coffee
index b5502e4c..7d5cfbad 100644
--- a/app/views/repo-show-tabs.coffee
+++ b/app/views/repo-show-tabs.coffee
@@ -1,4 +1,6 @@
-View = Travis.BasicView.extend
+`import Ember from 'ember'`
+
+View = Ember.View.extend
templateName: 'repos/show/tabs'
tabBinding: 'controller.tab'
@@ -54,4 +56,4 @@ View = Travis.BasicView.extend
'active display-inline' if @get('tab') == 'request'
).property('tab')
-Travis.RepoShowTabsView = View
+`export default View`
diff --git a/app/views/repo-show-tools.coffee b/app/views/repo-show-tools.coffee
index 05698c3f..49cb5eba 100644
--- a/app/views/repo-show-tools.coffee
+++ b/app/views/repo-show-tools.coffee
@@ -1,4 +1,6 @@
-View = Travis.BasicView.extend
+`import Ember from 'ember'`
+
+View = Ember.View.extend
templateName: 'repos/show/tools'
repoBinding: 'controller.repo'
@@ -73,4 +75,4 @@ View = Travis.BasicView.extend
@get('hasPermission')
).property('hasPermission')
-Travis.RepoShowToolsView = View
+`export default View`
diff --git a/app/views/repo.coffee b/app/views/repo.coffee
index 58ce2672..895ac7f9 100644
--- a/app/views/repo.coffee
+++ b/app/views/repo.coffee
@@ -1,7 +1,7 @@
-statusImage = Travis.Urls.statusImage
-StatusImagesView = Travis.StatusImagesView
-config = ENV.config
-BasicView = Travis.BasicView
+`import { statusImage } from 'travis/utils/urls'`
+`import StatusImagesView from 'travis/views/status-images'`
+`import BasicView from 'travis/views/basic'`
+`import config from 'travis/config/environment'`
View = BasicView.extend
reposBinding: 'controllers.repos'
@@ -36,4 +36,4 @@ View = BasicView.extend
''
).property()
-Travis.RepoView = View
+`export default View`
diff --git a/app/views/repos-list-tabs.coffee b/app/views/repos-list-tabs.coffee
index 271ea79f..9f205687 100644
--- a/app/views/repos-list-tabs.coffee
+++ b/app/views/repos-list-tabs.coffee
@@ -1,4 +1,6 @@
-View = Travis.BasicView.extend
+`import Ember from 'ember'`
+
+View = Ember.View.extend
templateName: 'repos/list/tabs'
tabBinding: 'controller.tab'
currentUserBinding: 'controller.currentUser.id'
@@ -22,4 +24,4 @@ View = Travis.BasicView.extend
'display-inline' if @get('currentUser')
).property('currentUser')
-Travis.ReposListTabsView = View
+`export default View`
diff --git a/app/views/repos-list.coffee b/app/views/repos-list.coffee
index a4e7c6ee..1b10a33e 100644
--- a/app/views/repos-list.coffee
+++ b/app/views/repos-list.coffee
@@ -1,4 +1,5 @@
-colorForState = Travis.Helpers.colorForState
+`import Ember from 'ember'`
+`import colorForState from 'travis/utils/helpers'`
View = Ember.CollectionView.extend
elementId: 'repos'
@@ -7,7 +8,7 @@ View = Ember.CollectionView.extend
emptyView: Ember.View.extend
template: Ember.Handlebars.compile('Loading
')
- itemViewClass: Travis.BasicView.extend
+ itemViewClass: Ember.View.extend
repoBinding: 'content'
classNames: ['repo']
classNameBindings: ['color', 'selected']
@@ -16,10 +17,11 @@ View = Ember.CollectionView.extend
).property('controller.selectedRepo')
color: (->
- colorForState(@get('repo.lastBuildState'))
+ # TODO: temp comment
+ #colorForState(@get('repo.lastBuildState'))
).property('repo.lastBuildState')
click: ->
@get('controller').transitionToRoute('/' + @get('repo.slug'))
-Travis.ReposListView = View
+`export default View`
diff --git a/app/views/show-more-button.coffee b/app/views/show-more-button.coffee
index d0ee0788..41edbe71 100644
--- a/app/views/show-more-button.coffee
+++ b/app/views/show-more-button.coffee
@@ -1,3 +1,5 @@
+`import Ember from 'ember'`
+
View = Ember.View.extend
tagName: 'button'
classNameBindings: ['isLoading', 'showMore']
@@ -15,4 +17,4 @@ View = Ember.View.extend
click: ->
@get('controller').showMore()
-Travis.ShowMoreButtonView = View
+`export default View`
diff --git a/app/views/signin.coffee b/app/views/signin.coffee
index b6e975db..036291e8 100644
--- a/app/views/signin.coffee
+++ b/app/views/signin.coffee
@@ -1,6 +1,6 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
templateName: 'auth/signin'
-Travis.SigninView = View
+`export default View`
diff --git a/app/views/status-image-input.coffee b/app/views/status-image-input.coffee
index 69b77117..e7545708 100644
--- a/app/views/status-image-input.coffee
+++ b/app/views/status-image-input.coffee
@@ -1,5 +1,7 @@
+`import Ember from 'ember'`
+
View = Ember.TextArea.extend
click: ->
@get('element').select()
-Travis.StatusImageInput = View
+`export default View`
diff --git a/app/views/status-images.coffee b/app/views/status-images.coffee
index f851ad21..4f150b8d 100644
--- a/app/views/status-images.coffee
+++ b/app/views/status-images.coffee
@@ -1,4 +1,5 @@
-format = Travis.StatusImageFormats.format
+`import Ember from 'ember'`
+`import format from 'travis/utils/status-image-formats'`
View = Ember.View.extend
templateName: 'status_images'
@@ -51,4 +52,4 @@ View = Ember.View.extend
format(@get('statusImageFormat'), @get('repo.slug'), @get('statusImageBranch.commit.branch'))
).property('statusImageFormat', 'repo.slug', 'statusImageBranch.commit.branch')
-Travis.StatusImagesView = View
+`export default View`
diff --git a/app/views/top.coffee b/app/views/top.coffee
index be1fcc39..318ba69c 100644
--- a/app/views/top.coffee
+++ b/app/views/top.coffee
@@ -1,4 +1,4 @@
-BasicView = Travis.BasicView
+`import BasicView from 'travis/views/basic'`
View = BasicView.extend
tabBinding: 'controller.tab'
@@ -25,4 +25,4 @@ View = BasicView.extend
hideProfile: ->
$('#top .profile ul').hide()
-Travis.TopView = View
+`export default View`