logster 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +19 -19
  3. data/.rubocop.yml +1 -1
  4. data/.travis.yml +16 -16
  5. data/CHANGELOG.md +172 -169
  6. data/Gemfile +4 -4
  7. data/Guardfile +8 -8
  8. data/LICENSE.txt +22 -22
  9. data/README.md +99 -99
  10. data/Rakefile +21 -21
  11. data/assets/fonts/FontAwesome.otf +0 -0
  12. data/assets/fonts/fontawesome-webfont.eot +0 -0
  13. data/assets/fonts/fontawesome-webfont.svg +639 -639
  14. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  15. data/assets/fonts/fontawesome-webfont.woff +0 -0
  16. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  17. data/assets/images/Icon-144_rounded.png +0 -0
  18. data/assets/images/Icon-144_square.png +0 -0
  19. data/assets/images/icon_144x144.png +0 -0
  20. data/assets/images/icon_64x64.png +0 -0
  21. data/assets/javascript/client-app.js +106 -100
  22. data/assets/stylesheets/client-app.css +1 -1
  23. data/build_client_app.sh +0 -0
  24. data/client-app/.editorconfig +20 -20
  25. data/client-app/.ember-cli +9 -9
  26. data/client-app/.eslintignore +19 -19
  27. data/client-app/.eslintrc.js +46 -46
  28. data/client-app/.gitignore +23 -23
  29. data/client-app/.travis.yml +27 -27
  30. data/client-app/.watchmanconfig +3 -3
  31. data/client-app/README.md +57 -57
  32. data/client-app/app/app.js +0 -0
  33. data/client-app/app/components/actions-menu.js +43 -37
  34. data/client-app/app/components/env-tab.js +80 -44
  35. data/client-app/app/components/message-info.js +0 -0
  36. data/client-app/app/components/message-row.js +0 -0
  37. data/client-app/app/components/panel-resizer.js +0 -0
  38. data/client-app/app/components/tab-contents.js +27 -27
  39. data/client-app/app/components/tabbed-section.js +0 -0
  40. data/client-app/app/components/time-formatter.js +0 -0
  41. data/client-app/app/components/update-time.js +0 -0
  42. data/client-app/app/controllers/index.js +0 -0
  43. data/client-app/app/controllers/show.js +0 -0
  44. data/client-app/app/index.html +29 -29
  45. data/client-app/app/initializers/app-init.js +67 -72
  46. data/client-app/app/lib/preload.js +20 -14
  47. data/client-app/app/lib/utilities.js +149 -140
  48. data/client-app/app/models/message-collection.js +0 -0
  49. data/client-app/app/models/message.js +100 -100
  50. data/client-app/app/resolver.js +0 -0
  51. data/client-app/app/router.js +0 -0
  52. data/client-app/app/routes/index.js +0 -0
  53. data/client-app/app/routes/show.js +0 -0
  54. data/client-app/app/styles/app.css +527 -521
  55. data/client-app/app/templates/application.hbs +2 -2
  56. data/client-app/app/templates/components/actions-menu.hbs +12 -12
  57. data/client-app/app/templates/components/env-tab.hbs +10 -10
  58. data/client-app/app/templates/components/message-info.hbs +41 -41
  59. data/client-app/app/templates/components/message-row.hbs +15 -15
  60. data/client-app/app/templates/components/panel-resizer.hbs +3 -3
  61. data/client-app/app/templates/components/tabbed-section.hbs +10 -10
  62. data/client-app/app/templates/components/time-formatter.hbs +1 -1
  63. data/client-app/app/templates/index.hbs +58 -58
  64. data/client-app/app/templates/show.hbs +7 -7
  65. data/client-app/config/environment.js +51 -51
  66. data/client-app/config/optional-features.json +3 -3
  67. data/client-app/config/targets.js +18 -18
  68. data/client-app/ember-cli-build.js +29 -29
  69. data/client-app/package-lock.json +11365 -11365
  70. data/client-app/package.json +56 -56
  71. data/client-app/testem.js +25 -25
  72. data/client-app/tests/index.html +34 -34
  73. data/client-app/tests/integration/components/env-tab-test.js +123 -73
  74. data/client-app/tests/integration/components/message-info-test.js +111 -26
  75. data/client-app/tests/test-helper.js +8 -8
  76. data/client-app/tests/unit/controllers/index-test.js +12 -12
  77. data/client-app/tests/unit/controllers/show-test.js +12 -12
  78. data/client-app/tests/unit/initializers/app-init-test.js +31 -31
  79. data/client-app/tests/unit/routes/index-test.js +11 -11
  80. data/client-app/tests/unit/routes/show-test.js +11 -11
  81. data/lib/examples/sidekiq_logster_reporter.rb +21 -21
  82. data/lib/logster.rb +54 -54
  83. data/lib/logster/base_store.rb +141 -141
  84. data/lib/logster/configuration.rb +26 -25
  85. data/lib/logster/defer_logger.rb +14 -14
  86. data/lib/logster/ignore_pattern.rb +65 -65
  87. data/lib/logster/logger.rb +113 -113
  88. data/lib/logster/message.rb +212 -212
  89. data/lib/logster/middleware/debug_exceptions.rb +26 -26
  90. data/lib/logster/middleware/reporter.rb +55 -55
  91. data/lib/logster/middleware/viewer.rb +222 -221
  92. data/lib/logster/rails/railtie.rb +63 -63
  93. data/lib/logster/redis_store.rb +566 -566
  94. data/lib/logster/scheduler.rb +54 -54
  95. data/lib/logster/version.rb +3 -3
  96. data/lib/logster/web.rb +14 -14
  97. data/logster.gemspec +35 -35
  98. data/test/examples/test_sidekiq_reporter_example.rb +46 -46
  99. data/test/fake_data/Gemfile +4 -4
  100. data/test/fake_data/generate.rb +10 -10
  101. data/test/logster/middleware/test_reporter.rb +19 -19
  102. data/test/logster/middleware/test_viewer.rb +96 -96
  103. data/test/logster/test_base_store.rb +147 -147
  104. data/test/logster/test_defer_logger.rb +34 -34
  105. data/test/logster/test_ignore_pattern.rb +41 -41
  106. data/test/logster/test_logger.rb +86 -86
  107. data/test/logster/test_message.rb +119 -119
  108. data/test/logster/test_redis_rate_limiter.rb +230 -230
  109. data/test/logster/test_redis_store.rb +720 -720
  110. data/test/test_helper.rb +38 -38
  111. data/vendor/assets/javascripts/logster.js.erb +39 -39
  112. metadata +1 -10
  113. data/client-app/app/components/tab-link.js +0 -5
  114. data/client-app/tests/integration/components/actions-menu-test.js +0 -26
  115. data/client-app/tests/integration/components/message-row-test.js +0 -26
  116. data/client-app/tests/integration/components/panel-resizer-test.js +0 -26
  117. data/client-app/tests/integration/components/tab-contents-test.js +0 -26
  118. data/client-app/tests/integration/components/tab-link-test.js +0 -26
  119. data/client-app/tests/integration/components/tabbed-section-test.js +0 -26
  120. data/client-app/tests/integration/components/time-formatter-test.js +0 -26
  121. data/client-app/tests/integration/components/update-time-test.js +0 -26
@@ -1,2 +1,2 @@
1
- {{update-time}}
2
- {{outlet}}
1
+ {{update-time}}
2
+ {{outlet}}
@@ -1,12 +1,12 @@
1
- {{#if actionsInMenu}}
2
- {{#if showMenu}}
3
- <div class="actions-menu">
4
- {{yield}}
5
- </div>
6
- {{/if}}
7
- <button {{action 'expandMenu'}} class="expand btn no-text"><i class='fa fa-ellipsis-h'></i></button>
8
- <button {{action "share"}} class="share btn"><i class='fa fa-share'></i><span>Share</span></button>
9
- {{else}}
10
- {{yield}}
11
- <button {{action "share"}} class="share btn"><i class='fa fa-share'></i><span>Share</span></button>
12
- {{/if}}
1
+ {{#if actionsInMenu}}
2
+ {{#if showMenu}}
3
+ <div class="actions-menu">
4
+ {{yield}}
5
+ </div>
6
+ {{/if}}
7
+ <button {{action 'expandMenu'}} class="expand btn no-text"><i class='fa fa-ellipsis-h'></i></button>
8
+ <button {{action "share"}} class="share btn"><i class='fa fa-share'></i><span>Share</span></button>
9
+ {{else}}
10
+ {{yield}}
11
+ <button {{action "share"}} class="share btn"><i class='fa fa-share'></i><span>Share</span></button>
12
+ {{/if}}
@@ -1,10 +1,10 @@
1
- {{#if isEnvArray}}
2
- <div class="nav-controls">
3
- <button disabled={{disableBackButtons}} {{action "bigJump" "back"}} class="btn nav-btn no-text"><i class="fa fa-fast-backward"></i></button>
4
- <button disabled={{disableBackButtons}} {{action "takeStep" "back"}} class="btn nav-btn no-text"><i class="fa fa-backward"></i></button>
5
- <span class="env-number">{{current}}/{{message.env.length}}</span>
6
- <button disabled={{disableForwardButtons}} {{action "takeStep" "front"}} class="btn nav-btn no-text"><i class="fa fa-forward"></i></button>
7
- <button disabled={{disableForwardButtons}} {{action "bigJump" "front"}} class="btn nav-btn no-text"><i class="fa fa-fast-forward"></i></button>
8
- </div>
9
- {{/if}}
10
- {{{html}}}
1
+ {{#if isEnvArray}}
2
+ <div class="nav-controls">
3
+ <button disabled={{disableBackButtons}} {{action "bigJump" "back"}} class="btn nav-btn no-text"><i class="fa fa-fast-backward"></i></button>
4
+ <button disabled={{disableBackButtons}} {{action "takeStep" "back"}} class="btn nav-btn no-text"><i class="fa fa-backward"></i></button>
5
+ <span class="env-number">{{current}}/{{message.env.length}}</span>
6
+ <button disabled={{disableForwardButtons}} {{action "takeStep" "front"}} class="btn nav-btn no-text"><i class="fa fa-forward"></i></button>
7
+ <button disabled={{disableForwardButtons}} {{action "bigJump" "front"}} class="btn nav-btn no-text"><i class="fa fa-fast-forward"></i></button>
8
+ </div>
9
+ {{/if}}
10
+ {{{html}}}
@@ -1,41 +1,41 @@
1
- <div class="message-info">
2
- {{#tabbed-section}}
3
- {{#tab-contents name="info" hint="show info" currentMessage=currentMessage}}
4
- {{#if showTitle}}
5
- <h3>Message
6
- {{#if currentMessage.showCount}}
7
- ({{currentMessage.count}} copies reported)
8
- {{/if}}
9
- </h3>
10
- {{/if}}
11
- <pre>{{currentMessage.message}}</pre>
12
- {{/tab-contents}}
13
- {{#tab-contents name="backtrace" defaultTab="true" hint="show backtrace" currentMessage=currentMessage}}
14
- {{#if showTitle}}
15
- <h3>Backtrace</h3>
16
- {{/if}}
17
- <pre>{{currentMessage.backtrace}}</pre>
18
- {{/tab-contents}}
19
- {{#if currentMessage.env}}
20
- {{#tab-contents className="env" name="env" hint="show environment" currentMessage=currentMessage}}
21
- {{#if showTitle}}
22
- <h3>Env</h3>
23
- {{/if}}
24
- {{env-tab message=currentMessage}}
25
- {{/tab-contents}}
26
- {{/if}}
27
- {{/tabbed-section}}
28
-
29
- {{#if currentMessage}}
30
- <div class='message-actions'>
31
- {{#actions-menu actionsInMenu=actionsInMenu share=(action "share")}}
32
- {{#each buttons as |btn|}}
33
- <button {{action btn.action}} class="{{btn.klass}} btn {{if btn.danger 'danger' ''}}">
34
- <i class="fa fa-{{btn.icon}}"></i>
35
- <span>{{btn.label}}</span>
36
- </button>
37
- {{/each}}
38
- {{/actions-menu}}
39
- </div>
40
- {{/if}}
41
- </div>
1
+ <div class="message-info">
2
+ {{#tabbed-section}}
3
+ {{#tab-contents name="info" hint="show info" currentMessage=currentMessage}}
4
+ {{#if showTitle}}
5
+ <h3>Message
6
+ {{#if currentMessage.showCount}}
7
+ ({{currentMessage.count}} copies reported)
8
+ {{/if}}
9
+ </h3>
10
+ {{/if}}
11
+ <pre>{{currentMessage.message}}</pre>
12
+ {{/tab-contents}}
13
+ {{#tab-contents name="backtrace" defaultTab="true" hint="show backtrace" currentMessage=currentMessage}}
14
+ {{#if showTitle}}
15
+ <h3>Backtrace</h3>
16
+ {{/if}}
17
+ <pre>{{currentMessage.backtrace}}</pre>
18
+ {{/tab-contents}}
19
+ {{#if currentMessage.env}}
20
+ {{#tab-contents className="env" name="env" hint="show environment" currentMessage=currentMessage}}
21
+ {{#if showTitle}}
22
+ <h3>Env</h3>
23
+ {{/if}}
24
+ {{env-tab message=currentMessage}}
25
+ {{/tab-contents}}
26
+ {{/if}}
27
+ {{/tabbed-section}}
28
+
29
+ {{#if currentMessage}}
30
+ <div class='message-actions'>
31
+ {{#actions-menu actionsInMenu=actionsInMenu share=(action "share")}}
32
+ {{#each buttons as |btn|}}
33
+ <button {{action btn.action}} class="{{btn.klass}} btn {{if btn.danger 'danger' ''}}">
34
+ <i class="fa fa-{{btn.icon}}"></i>
35
+ <span>{{btn.label}}</span>
36
+ </button>
37
+ {{/each}}
38
+ {{/actions-menu}}
39
+ </div>
40
+ {{/if}}
41
+ </div>
@@ -1,15 +1,15 @@
1
- <div class="count">
2
- {{#if model.showCount}}
3
- {{model.count}}
4
- {{/if}}
5
- </div>
6
- <div class="severity">{{{model.glyph}}}</div>
7
- <div class="message-body">
8
- {{model.displayMessage}}
9
- </div>
10
- <div class='protected'>
11
- {{#if model.protected}}
12
- <i title="message is protected, clearing will not remove it" class='fa fa-lock'></i>
13
- {{/if}}
14
- </div>
15
- <div class="time">{{time-formatter timestamp=model.timestamp}}</div>
1
+ <div class="count">
2
+ {{#if model.showCount}}
3
+ {{model.count}}
4
+ {{/if}}
5
+ </div>
6
+ <div class="severity">{{{model.glyph}}}</div>
7
+ <div class="message-body">
8
+ {{model.displayMessage}}
9
+ </div>
10
+ <div class='protected'>
11
+ {{#if model.protected}}
12
+ <i title="message is protected, clearing will not remove it" class='fa fa-lock'></i>
13
+ {{/if}}
14
+ </div>
15
+ <div class="time">{{time-formatter timestamp=model.timestamp}}</div>
@@ -1,3 +1,3 @@
1
- <div class='line-1'></div>
2
- <div class='line-2'></div>
3
- <div class='line-3'></div>
1
+ <div class='line-1'></div>
2
+ <div class='line-2'></div>
3
+ <div class='line-3'></div>
@@ -1,10 +1,10 @@
1
- {{yield}}
2
- <ul class="tabs">
3
- {{#each tabs as |tab|}}
4
- <li>
5
- <a title="{{unbound tab.hint}}" href="#" class="{{if tab.active 'active'}}" {{action selectTab tab}}>
6
- {{unbound tab.name}}
7
- </a>
8
- </li>
9
- {{/each}}
10
- </ul>
1
+ {{yield}}
2
+ <ul class="tabs">
3
+ {{#each tabs as |tab|}}
4
+ <li>
5
+ <a title="{{unbound tab.hint}}" href="#" class="{{if tab.active 'active'}}" {{action selectTab tab}}>
6
+ {{unbound tab.name}}
7
+ </a>
8
+ </li>
9
+ {{/each}}
10
+ </ul>
@@ -1 +1 @@
1
- {{time}}
1
+ {{time}}
@@ -1,58 +1,58 @@
1
- <div id='top-panel'>
2
- <div id="log-table">
3
- {{#if model.moreBefore}}
4
- <div {{action "showMoreBefore"}} class="show-more">
5
- {{#if model.hideCountInLoadMore}}
6
- Load more
7
- {{else}}
8
- Select to see {{model.totalBefore}} more
9
- {{/if}}
10
- </div>
11
- {{/if}}
12
- {{#each model.messages as |message|}}
13
- {{message-row model=message selectedMessage=(action "selectMessage")}}
14
- {{/each}}
15
- </div>
16
- </div>
17
- <div id="bottom-panel">
18
- {{message-info
19
- currentMessage=currentMessage
20
- removeMessage=(action "removeMessage")
21
- solveMessage=(action "solveMessage")
22
- actionsInMenu=actionsInMenu}}
23
-
24
- <div class="action-panel">
25
- <div class="severity-filters">
26
- <div class="more-wrapping">
27
- <label class="debug">
28
- {{input type="checkbox" checked=showDebug}}
29
- <span>Debug</span>
30
- </label>
31
- <label class="info">
32
- {{input type="checkbox" checked=showInfo}}
33
- <span>Info</span>
34
- </label>
35
- <label class="warn">
36
- {{input type="checkbox" checked=showWarn}}
37
- <i class='fa fa-exclamation-circle warning'></i>
38
- <span>Warning</span>
39
- </label>
40
- <label class="error">
41
- {{input type="checkbox" checked=showErr}}
42
- <i class='fa fa-times-circle error'></i>
43
- <span>Error</span>
44
- </label>
45
- <label class="fatal">
46
- {{input type="checkbox" checked=showFatal}}
47
- <i class='fa fa-times-circle fatal'></i>
48
- <span>Fatal</span>
49
- </label>
50
- </div>
51
- </div>
52
- <div class="search-clear-all">
53
- {{input type="textfield" class="search" placeholder="Search" value=search}}
54
- <button class="clear btn danger" {{action "clear"}}><i class='fa fa-times'></i><span>Clear logs</span></button>
55
- </div>
56
- </div>
57
- </div>
58
- {{panel-resizer}}
1
+ <div id='top-panel'>
2
+ <div id="log-table">
3
+ {{#if model.moreBefore}}
4
+ <div {{action "showMoreBefore"}} class="show-more">
5
+ {{#if model.hideCountInLoadMore}}
6
+ Load more
7
+ {{else}}
8
+ Select to see {{model.totalBefore}} more
9
+ {{/if}}
10
+ </div>
11
+ {{/if}}
12
+ {{#each model.messages as |message|}}
13
+ {{message-row model=message selectedMessage=(action "selectMessage")}}
14
+ {{/each}}
15
+ </div>
16
+ </div>
17
+ <div id="bottom-panel">
18
+ {{message-info
19
+ currentMessage=currentMessage
20
+ removeMessage=(action "removeMessage")
21
+ solveMessage=(action "solveMessage")
22
+ actionsInMenu=actionsInMenu}}
23
+
24
+ <div class="action-panel">
25
+ <div class="severity-filters">
26
+ <div class="more-wrapping">
27
+ <label class="debug">
28
+ {{input type="checkbox" checked=showDebug}}
29
+ <span>Debug</span>
30
+ </label>
31
+ <label class="info">
32
+ {{input type="checkbox" checked=showInfo}}
33
+ <span>Info</span>
34
+ </label>
35
+ <label class="warn">
36
+ {{input type="checkbox" checked=showWarn}}
37
+ <i class='fa fa-exclamation-circle warning'></i>
38
+ <span>Warning</span>
39
+ </label>
40
+ <label class="error">
41
+ {{input type="checkbox" checked=showErr}}
42
+ <i class='fa fa-times-circle error'></i>
43
+ <span>Error</span>
44
+ </label>
45
+ <label class="fatal">
46
+ {{input type="checkbox" checked=showFatal}}
47
+ <i class='fa fa-times-circle fatal'></i>
48
+ <span>Fatal</span>
49
+ </label>
50
+ </div>
51
+ </div>
52
+ <div class="search-clear-all">
53
+ {{input type="textfield" class="search" placeholder="Search" value=search}}
54
+ <button class="clear btn danger" {{action "clear"}}><i class='fa fa-times'></i><span>Clear logs</span></button>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ {{panel-resizer}}
@@ -1,7 +1,7 @@
1
- {{#link-to 'index'}}Recent{{/link-to}}
2
- <div id="bottom-panel" class="full">
3
- {{message-info
4
- currentMessage=model
5
- showTitle="true"
6
- actionsInMenu=false}}
7
- </div>
1
+ {{#link-to 'index'}}Recent{{/link-to}}
2
+ <div id="bottom-panel" class="full">
3
+ {{message-info
4
+ currentMessage=model
5
+ showTitle="true"
6
+ actionsInMenu=false}}
7
+ </div>
@@ -1,51 +1,51 @@
1
- 'use strict';
2
-
3
- module.exports = function(environment) {
4
- let ENV = {
5
- modulePrefix: 'client-app',
6
- environment,
7
- rootURL: '/logs',
8
- locationType: 'history',
9
- EmberENV: {
10
- FEATURES: {
11
- // Here you can enable experimental features on an ember canary build
12
- // e.g. 'with-controller': true
13
- },
14
- EXTEND_PROTOTYPES: {
15
- // Prevent Ember Data from overriding Date.parse.
16
- Date: false
17
- }
18
- },
19
-
20
- APP: {
21
- // Here you can pass flags/options to your application instance
22
- // when it is created
23
- }
24
- };
25
-
26
- if (environment === 'development') {
27
- // ENV.APP.LOG_RESOLVER = true;
28
- // ENV.APP.LOG_ACTIVE_GENERATION = true;
29
- // ENV.APP.LOG_TRANSITIONS = true;
30
- // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
31
- // ENV.APP.LOG_VIEW_LOOKUPS = true;
32
- }
33
-
34
- if (environment === 'test') {
35
- // Testem prefers this...
36
- ENV.locationType = 'none';
37
-
38
- // keep test console output quieter
39
- ENV.APP.LOG_ACTIVE_GENERATION = false;
40
- ENV.APP.LOG_VIEW_LOOKUPS = false;
41
-
42
- ENV.APP.rootElement = '#ember-testing';
43
- ENV.APP.autoboot = false;
44
- }
45
-
46
- if (environment === 'production') {
47
- // here you can enable a production-specific feature
48
- }
49
-
50
- return ENV;
51
- };
1
+ 'use strict';
2
+
3
+ module.exports = function(environment) {
4
+ let ENV = {
5
+ modulePrefix: 'client-app',
6
+ environment,
7
+ rootURL: '/logs',
8
+ locationType: 'history',
9
+ EmberENV: {
10
+ FEATURES: {
11
+ // Here you can enable experimental features on an ember canary build
12
+ // e.g. 'with-controller': true
13
+ },
14
+ EXTEND_PROTOTYPES: {
15
+ // Prevent Ember Data from overriding Date.parse.
16
+ Date: false
17
+ }
18
+ },
19
+
20
+ APP: {
21
+ // Here you can pass flags/options to your application instance
22
+ // when it is created
23
+ }
24
+ };
25
+
26
+ if (environment === 'development') {
27
+ // ENV.APP.LOG_RESOLVER = true;
28
+ // ENV.APP.LOG_ACTIVE_GENERATION = true;
29
+ // ENV.APP.LOG_TRANSITIONS = true;
30
+ // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
31
+ // ENV.APP.LOG_VIEW_LOOKUPS = true;
32
+ }
33
+
34
+ if (environment === 'test') {
35
+ // Testem prefers this...
36
+ ENV.locationType = 'none';
37
+
38
+ // keep test console output quieter
39
+ ENV.APP.LOG_ACTIVE_GENERATION = false;
40
+ ENV.APP.LOG_VIEW_LOOKUPS = false;
41
+
42
+ ENV.APP.rootElement = '#ember-testing';
43
+ ENV.APP.autoboot = false;
44
+ }
45
+
46
+ if (environment === 'production') {
47
+ // here you can enable a production-specific feature
48
+ }
49
+
50
+ return ENV;
51
+ };
@@ -1,3 +1,3 @@
1
- {
2
- "jquery-integration": true
3
- }
1
+ {
2
+ "jquery-integration": true
3
+ }
@@ -1,18 +1,18 @@
1
- 'use strict';
2
-
3
- const browsers = [
4
- 'last 1 Chrome versions',
5
- 'last 1 Firefox versions',
6
- 'last 1 Safari versions'
7
- ];
8
-
9
- const isCI = !!process.env.CI;
10
- const isProduction = process.env.EMBER_ENV === 'production';
11
-
12
- if (isCI || isProduction) {
13
- browsers.push('ie 11');
14
- }
15
-
16
- module.exports = {
17
- browsers
18
- };
1
+ 'use strict';
2
+
3
+ const browsers = [
4
+ 'last 1 Chrome versions',
5
+ 'last 1 Firefox versions',
6
+ 'last 1 Safari versions'
7
+ ];
8
+
9
+ const isCI = !!process.env.CI;
10
+ const isProduction = process.env.EMBER_ENV === 'production';
11
+
12
+ if (isCI || isProduction) {
13
+ browsers.push('ie 11');
14
+ }
15
+
16
+ module.exports = {
17
+ browsers
18
+ };