logster 2.11.4 → 2.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +63 -12
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +10 -5
  5. data/README.md +8 -0
  6. data/assets/javascript/.gitkeep +0 -0
  7. data/assets/javascript/chunk.143.2faa04830259ce9aa59a.js +22 -0
  8. data/assets/javascript/chunk.178.ca5ade1d8cbdbfbe6d72.js +22 -0
  9. data/assets/javascript/chunk.468.95dd450003497c781cb3.js +1213 -0
  10. data/assets/javascript/chunk.916.85a3fc9d873df80f5ea5.js +579 -0
  11. data/assets/javascript/client-app.js +1257 -280
  12. data/assets/javascript/vendor.js +4068 -3375
  13. data/assets/stylesheets/.gitkeep +0 -0
  14. data/assets/stylesheets/client-app.css +1 -1
  15. data/assets/stylesheets/vendor.css +1 -1
  16. data/build_client_app.sh +6 -8
  17. data/client-app/.editorconfig +0 -1
  18. data/client-app/.eslintignore +2 -0
  19. data/client-app/.eslintrc +10 -0
  20. data/client-app/.gitignore +1 -1
  21. data/client-app/.prettierignore +21 -0
  22. data/client-app/.prettierrc +1 -0
  23. data/client-app/.template-lintrc.js +10 -0
  24. data/client-app/README.md +4 -5
  25. data/client-app/app/app.js +2 -2
  26. data/client-app/app/components/actions-menu.js +21 -21
  27. data/client-app/app/components/back-trace.js +89 -90
  28. data/client-app/app/components/env-tab.js +41 -29
  29. data/client-app/app/components/message-info.js +78 -75
  30. data/client-app/app/components/message-row.js +20 -17
  31. data/client-app/app/components/page-nav.js +33 -24
  32. data/client-app/app/components/panel-resizer.js +53 -37
  33. data/client-app/app/components/patterns-list.js +101 -84
  34. data/client-app/app/components/tab-contents.js +15 -19
  35. data/client-app/app/components/tabbed-section.js +30 -18
  36. data/client-app/app/components/time-formatter.js +29 -18
  37. data/client-app/app/controllers/index.js +143 -119
  38. data/client-app/app/controllers/show.js +17 -13
  39. data/client-app/app/helpers/or.js +1 -1
  40. data/client-app/app/initializers/app-init.js +23 -34
  41. data/client-app/app/lib/decorators.js +4 -2
  42. data/client-app/app/lib/preload.js +7 -4
  43. data/client-app/app/lib/utilities.js +55 -54
  44. data/client-app/app/models/group.js +20 -15
  45. data/client-app/app/models/message-collection.js +153 -149
  46. data/client-app/app/models/message.js +60 -58
  47. data/client-app/app/models/pattern-item.js +24 -22
  48. data/client-app/app/router.js +2 -2
  49. data/client-app/app/routes/index.js +19 -12
  50. data/client-app/app/routes/settings.js +12 -10
  51. data/client-app/app/routes/show.js +6 -4
  52. data/client-app/app/services/events.js +4 -0
  53. data/client-app/app/styles/app.css +2 -0
  54. data/client-app/app/templates/application.hbs +1 -2
  55. data/client-app/app/templates/components/actions-menu.hbs +23 -8
  56. data/client-app/app/templates/components/back-trace.hbs +10 -3
  57. data/client-app/app/templates/components/env-tab.hbs +9 -7
  58. data/client-app/app/templates/components/message-info.hbs +65 -34
  59. data/client-app/app/templates/components/message-row.hbs +25 -8
  60. data/client-app/app/templates/components/page-nav.hbs +34 -10
  61. data/client-app/app/templates/components/panel-resizer.hbs +3 -3
  62. data/client-app/app/templates/components/patterns-list.hbs +54 -20
  63. data/client-app/app/templates/components/tabbed-section.hbs +12 -4
  64. data/client-app/app/templates/components/time-formatter.hbs +1 -1
  65. data/client-app/app/templates/index.hbs +100 -78
  66. data/client-app/app/templates/settings.hbs +30 -19
  67. data/client-app/app/templates/show.hbs +9 -8
  68. data/client-app/config/ember-cli-update.json +18 -0
  69. data/client-app/config/environment.js +13 -13
  70. data/client-app/config/icons.js +3 -3
  71. data/client-app/config/targets.js +16 -8
  72. data/client-app/ember-cli-build.js +4 -4
  73. data/client-app/package.json +41 -31
  74. data/client-app/testem.js +16 -17
  75. data/client-app/tests/index.html +8 -1
  76. data/client-app/tests/integration/components/back-trace-test.js +32 -26
  77. data/client-app/tests/integration/components/env-tab-test.js +79 -53
  78. data/client-app/tests/integration/components/message-info-test.js +25 -23
  79. data/client-app/tests/integration/components/patterns-list-test.js +14 -11
  80. data/client-app/tests/test-helper.js +8 -4
  81. data/client-app/tests/unit/controllers/index-test.js +32 -16
  82. data/client-app/tests/unit/controllers/show-test.js +5 -5
  83. data/client-app/tests/unit/routes/index-test.js +5 -5
  84. data/client-app/tests/unit/routes/show-test.js +5 -5
  85. data/client-app/yarn.lock +9673 -0
  86. data/lib/logster/version.rb +1 -1
  87. data/logster.gemspec +6 -3
  88. metadata +15 -6
  89. data/client-app/.eslintrc.js +0 -60
  90. data/client-app/.travis.yml +0 -28
  91. data/client-app/app/components/update-time.js +0 -21
  92. data/client-app/package-lock.json +0 -16639
@@ -1,104 +1,126 @@
1
- <div id='top-panel'>
1
+ <div id="top-panel">
2
2
  <div id="log-table">
3
- {{#if model.moreBefore}}
4
- <div {{action "showMoreBefore"}} class="show-more">
5
- {{#if model.hideCountInLoadMore}}
3
+ {{#if this.model.moreBefore}}
4
+ <div {{on "click" this.showMoreBefore}} class="show-more">
5
+ {{#if this.model.hideCountInLoadMore}}
6
6
  Load more
7
7
  {{else}}
8
- Select to see {{model.totalBefore}} more
8
+ Select to see
9
+ {{this.model.totalBefore}}
10
+ more
9
11
  {{/if}}
10
12
  </div>
11
13
  {{/if}}
12
- {{#each model.rows as |row|}}
13
- {{message-row model=row selectRow=(action "selectRowAction" row)}}
14
+
15
+ {{#each this.model.rows as |row|}}
16
+ <MessageRow @model={{row}} @selectRow={{fn this.selectRowAction row}} />
14
17
  {{/each}}
15
18
  </div>
16
19
  </div>
17
- <div id="bottom-panel" class="{{if model.currentRow.group "group-view"}}">
18
- {{#if model.currentRow.group}}
19
- {{page-nav
20
- list=model.currentRow.messages
21
- position=model.currentGroupedMessagesPosition
22
- extraClasses="group-nav"
23
- navigate=(action "groupedMessageChangedAction")}}
20
+
21
+ <div id="bottom-panel" class={{if this.model.currentRow.group "group-view"}}>
22
+ {{#if this.model.currentRow.group}}
23
+ <PageNav
24
+ @list={{this.model.currentRow.messages}}
25
+ @position={{this.model.currentGroupedMessagesPosition}}
26
+ @extraClasses="group-nav"
27
+ @navigate={{this.groupedMessageChangedAction}}
28
+ />
24
29
  {{/if}}
25
- {{message-info
26
- currentMessage=model.currentMessage
27
- currentRow=model.currentRow
28
- loadingEnv=model.loadingEnv
29
- removeMessage=(action "removeMessage")
30
- solveMessage=(action "solveMessage")
31
- onTabChange=(action "tabChangedAction")
32
- envChangedAction=(action "envChangedAction")
33
- currentEnvPosition=model.currentEnvPosition
34
- actionsInMenu=actionsInMenu
35
- showShare=true}}
30
+
31
+ <MessageInfo
32
+ @currentMessage={{this.model.currentMessage}}
33
+ @currentRow={{this.model.currentRow}}
34
+ @loadingEnv={{this.model.loadingEnv}}
35
+ @removeMessage={{this.removeMessage}}
36
+ @solveMessage={{this.solveMessage}}
37
+ @onTabChange={{this.tabChangedAction}}
38
+ @envChangedAction={{this.envChangedAction}}
39
+ @currentEnvPosition={{this.model.currentEnvPosition}}
40
+ @actionsInMenu={{this.actionsInMenu}}
41
+ @showShare={{true}}
42
+ />
36
43
 
37
44
  <div class="action-panel">
38
45
  <div class="severity-filters">
39
- <div class="more-wrapping">
40
- <label class="debug">
41
- <input
42
- type="checkbox"
43
- checked={{showDebug}}
44
- onchange={{action (action 'updateFilter' 'showDebug')}}
45
- />
46
- <span>Debug</span>
47
- </label>
48
- <label class="info">
49
- <input
50
- type="checkbox"
51
- checked={{showInfo}}
52
- onchange={{action (action 'updateFilter' 'showInfo')}}
53
- />
54
- <span>Info</span>
55
- </label>
56
- <label class="warn">
57
- <input
58
- type="checkbox"
59
- checked={{showWarn}}
60
- onchange={{action (action 'updateFilter' 'showWarn')}}
61
- />
62
- {{fa-icon "exclamation-circle" class="warning"}}
63
- <span>Warning</span>
64
- </label>
65
- <label class="error">
66
- <input
67
- type="checkbox"
68
- checked={{showErr}}
69
- onchange={{action (action 'updateFilter' 'showErr')}}
70
- />
71
- {{fa-icon "times-circle" class="error"}}
72
- <span>Error</span>
73
- </label>
74
- <label class="fatal">
75
- <input
76
- type="checkbox"
77
- checked={{showFatal}}
78
- onchange={{action (action 'updateFilter' 'showFatal')}}
79
- />
80
- {{fa-icon "times-circle" class="fatal"}}
81
- <span>Fatal</span>
82
- </label>
83
- </div>
46
+ <div class="more-wrapping">
47
+ <label class="debug">
48
+ <input
49
+ type="checkbox"
50
+ checked={{this.showDebug}}
51
+ onchange={{fn this.updateFilter "showDebug"}}
52
+ />
53
+ <span>Debug</span>
54
+ </label>
55
+
56
+ <label class="info">
57
+ <input
58
+ type="checkbox"
59
+ checked={{this.showInfo}}
60
+ onchange={{fn this.updateFilter "showInfo"}}
61
+ />
62
+ <span>Info</span>
63
+ </label>
64
+
65
+ <label class="warn">
66
+ <input
67
+ type="checkbox"
68
+ checked={{this.showWarn}}
69
+ onchange={{fn this.updateFilter "showWarn"}}
70
+ />
71
+ <FaIcon @icon="exclamation-circle" class="warning" />
72
+ <span>Warning</span>
73
+ </label>
74
+
75
+ <label class="error">
76
+ <input
77
+ type="checkbox"
78
+ checked={{this.showErr}}
79
+ onchange={{fn this.updateFilter "showErr"}}
80
+ />
81
+ <FaIcon @icon="times-circle" class="error" />
82
+ <span>Error</span>
83
+ </label>
84
+
85
+ <label class="fatal">
86
+ <input
87
+ type="checkbox"
88
+ checked={{this.showFatal}}
89
+ onchange={{fn this.updateFilter "showFatal"}}
90
+ />
91
+ <FaIcon @icon="times-circle" class="fatal" />
92
+ <span>Fatal</span>
93
+ </label>
94
+ </div>
84
95
  </div>
96
+
85
97
  <div class="search-clear-all">
86
98
  <input
87
99
  type="text"
88
100
  class="search"
89
101
  placeholder="Search"
90
- value={{searchTerm}}
91
- onkeyup={{action "updateSearch" value="target.value"}}
102
+ value={{this.searchTerm}}
103
+ onkeyup={{this.updateSearch}}
92
104
  />
105
+
93
106
  <div class="footer-btns">
94
- {{#if showSettings}}
95
- {{#link-to "settings" class="settings btn no-text"}}
96
- {{fa-icon "cog"}}
97
- {{/link-to}}
107
+ {{#if this.showSettings}}
108
+ <LinkTo @route="settings" class="settings btn no-text">
109
+ <FaIcon @icon="cog" />
110
+ </LinkTo>
98
111
  {{/if}}
99
- <button class="clear btn danger" {{action "clear"}}>{{fa-icon "trash-alt" prefix="far"}}<span>Clear logs</span></button>
112
+
113
+ <button
114
+ class="clear btn danger"
115
+ type="button"
116
+ {{on "click" this.clear}}
117
+ >
118
+ <FaIcon @icon="trash-alt" prefix="far" />
119
+ <span>Clear logs</span>
120
+ </button>
100
121
  </div>
101
122
  </div>
102
123
  </div>
103
124
  </div>
104
- {{panel-resizer}}
125
+
126
+ <PanelResizer />
@@ -1,36 +1,47 @@
1
1
  <div class="settings-page">
2
- {{link-to "Home" "index"}}
2
+ <LinkTo @route="index">Home</LinkTo>
3
+
3
4
  <div class="settings-header">
4
5
  <h1 class="header-title">Settings</h1>
5
- <img class="header-logo" src={{logster-url "images/icon_144x144.png"}}>
6
+ <img class="header-logo" src={{logster-url "images/icon_144x144.png"}} />
6
7
  </div>
7
8
 
8
9
  <div class="settings-section suppression-patterns">
9
10
  <h2 class="section-title">Suppression Patterns</h2>
10
- <div>New messages that match these Regular Expression patterns will be suppressed. Checking Apply retroactively will remove all existing messages that match the patterns.</div>
11
11
 
12
- {{#if showCodedSuppression}}
12
+ <div>New messages that match these Regular Expression patterns will be
13
+ suppressed. Checking Apply retroactively will remove all existing messages
14
+ that match the patterns.</div>
15
+
16
+ {{#if this.showCodedSuppression}}
13
17
  <h3 class="subsection-title">Hard-coded patterns:</h3>
14
- <div class="tip">These patterns can't be removed via the UI because they are commited to the source code of your app.</div>
15
- {{patterns-list
16
- patterns=codedSuppression
17
- mutable=false}}
18
+
19
+ <div class="tip">These patterns can't be removed via the UI because they
20
+ are commited to the source code of your app.</div>
21
+
22
+ <PatternsList @patterns={{this.codedSuppression}} @mutable={{false}} />
18
23
  {{/if}}
19
24
 
20
25
  <h3 class="subsection-title">Custom patterns:</h3>
21
- {{patterns-list
22
- patterns=customSuppression
23
- key="suppression"
24
- applyRetroactivelyCheckbox=true
25
- mutable=true}}
26
+
27
+ <PatternsList
28
+ @patterns={{this.customSuppression}}
29
+ @key="suppression"
30
+ @applyRetroactivelyCheckbox={{true}}
31
+ @mutable={{true}}
32
+ />
26
33
  </div>
34
+
27
35
  <div class="settings-section grouping-patterns">
28
36
  <h2 class="section-title">Grouping Patterns</h2>
29
- <div>Add a Regular Expression pattern to group all new and existing messages into a single row when viewing the logs.</div>
30
37
 
31
- {{patterns-list
32
- patterns=grouping
33
- key="grouping"
34
- mutable=true}}
38
+ <div>Add a Regular Expression pattern to group all new and existing messages
39
+ into a single row when viewing the logs.</div>
40
+
41
+ <PatternsList
42
+ @patterns={{this.grouping}}
43
+ @key="grouping"
44
+ @mutable={{true}}
45
+ />
35
46
  </div>
36
- </div>
47
+ </div>
@@ -1,10 +1,11 @@
1
- {{#link-to "index" class="recent-link"}}Recent{{/link-to}}
1
+ <LinkTo @route="index" class="recent-link">Recent</LinkTo>
2
2
 
3
3
  <div id="bottom-panel" class="full">
4
- {{message-info
5
- currentMessage=model
6
- showTitle="true"
7
- envChangedAction=(action "envChanged")
8
- currentEnvPosition=envPosition
9
- actionsInMenu=false}}
10
- </div>
4
+ <MessageInfo
5
+ @currentMessage={{this.model}}
6
+ @showTitle="true"
7
+ @envChangedAction={{this.envChanged}}
8
+ @currentEnvPosition={{this.envPosition}}
9
+ @actionsInMenu={{false}}
10
+ />
11
+ </div>
@@ -0,0 +1,18 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "packages": [
4
+ {
5
+ "name": "ember-cli",
6
+ "version": "3.28.6",
7
+ "blueprints": [
8
+ {
9
+ "name": "app",
10
+ "outputRepo": "https://github.com/ember-cli/ember-new-output",
11
+ "codemodsSource": "ember-app-codemods-manifest@1",
12
+ "isBaseBlueprint": true,
13
+ "options": ["--no-welcome"]
14
+ }
15
+ ]
16
+ }
17
+ ]
18
+ }
@@ -1,11 +1,11 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- module.exports = function(environment) {
3
+ module.exports = function (environment) {
4
4
  let ENV = {
5
- modulePrefix: 'client-app',
5
+ modulePrefix: "client-app",
6
6
  environment,
7
- rootURL: '/logs',
8
- locationType: 'history',
7
+ rootURL: "/logs",
8
+ locationType: "history",
9
9
  EmberENV: {
10
10
  FEATURES: {
11
11
  // Here you can enable experimental features on an ember canary build
@@ -13,17 +13,17 @@ module.exports = function(environment) {
13
13
  },
14
14
  EXTEND_PROTOTYPES: {
15
15
  // Prevent Ember Data from overriding Date.parse.
16
- Date: false
17
- }
16
+ Date: false,
17
+ },
18
18
  },
19
19
 
20
20
  APP: {
21
21
  // Here you can pass flags/options to your application instance
22
22
  // when it is created
23
- }
23
+ },
24
24
  };
25
25
 
26
- if (environment === 'development') {
26
+ if (environment === "development") {
27
27
  // ENV.APP.LOG_RESOLVER = true;
28
28
  // ENV.APP.LOG_ACTIVE_GENERATION = true;
29
29
  // ENV.APP.LOG_TRANSITIONS = true;
@@ -31,19 +31,19 @@ module.exports = function(environment) {
31
31
  // ENV.APP.LOG_VIEW_LOOKUPS = true;
32
32
  }
33
33
 
34
- if (environment === 'test') {
34
+ if (environment === "test") {
35
35
  // Testem prefers this...
36
- ENV.locationType = 'none';
36
+ ENV.locationType = "none";
37
37
 
38
38
  // keep test console output quieter
39
39
  ENV.APP.LOG_ACTIVE_GENERATION = false;
40
40
  ENV.APP.LOG_VIEW_LOOKUPS = false;
41
41
 
42
- ENV.APP.rootElement = '#ember-testing';
42
+ ENV.APP.rootElement = "#ember-testing";
43
43
  ENV.APP.autoboot = false;
44
44
  }
45
45
 
46
- if (environment === 'production') {
46
+ if (environment === "production") {
47
47
  // here you can enable a production-specific feature
48
48
  }
49
49
 
@@ -1,4 +1,4 @@
1
- module.exports = function() {
1
+ module.exports = function () {
2
2
  return {
3
3
  "free-solid-svg-icons": [
4
4
  "check-square",
@@ -18,9 +18,9 @@ module.exports = function() {
18
18
  "question-circle",
19
19
  "cog",
20
20
  "lock",
21
- "unlock"
21
+ "unlock",
22
22
  ],
23
- "free-regular-svg-icons": ["trash-alt", "check-square", "copy", "clone"]
23
+ "free-regular-svg-icons": ["trash-alt", "check-square", "copy", "clone"],
24
24
  // "free-brands-svg-icons": []
25
25
  };
26
26
  };
@@ -1,18 +1,26 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  const browsers = [
4
- 'last 1 Chrome versions',
5
- 'last 1 Firefox versions',
6
- 'last 1 Safari versions'
4
+ "last 1 Chrome versions",
5
+ "last 1 Firefox versions",
6
+ "last 1 Safari versions",
7
7
  ];
8
8
 
9
- const isCI = !!process.env.CI;
10
- const isProduction = process.env.EMBER_ENV === 'production';
9
+ // Ember's browser support policy is changing, and IE11 support will end in
10
+ // v4.0 onwards.
11
+ //
12
+ // See https://deprecations.emberjs.com/v3.x#toc_3-0-browser-support-policy
13
+ //
14
+ // If you need IE11 support on a version of Ember that still offers support
15
+ // for it, uncomment the code block below.
16
+
17
+ const isCI = Boolean(process.env.CI);
18
+ const isProduction = process.env.EMBER_ENV === "production";
11
19
 
12
20
  if (isCI || isProduction) {
13
- browsers.push('ie 11');
21
+ browsers.push("ie 11");
14
22
  }
15
23
 
16
24
  module.exports = {
17
- browsers
25
+ browsers,
18
26
  };
@@ -2,12 +2,12 @@
2
2
 
3
3
  const EmberApp = require("ember-cli/lib/broccoli/ember-app");
4
4
 
5
- module.exports = function(defaults) {
6
- var app = new EmberApp(defaults, {
5
+ module.exports = function (defaults) {
6
+ let app = new EmberApp(defaults, {
7
7
  // Add options here
8
8
  fingerprint: {
9
- enabled: false
10
- }
9
+ enabled: false,
10
+ },
11
11
  });
12
12
 
13
13
  // Use `app.import` to add additional libraries to the generated
@@ -11,48 +11,57 @@
11
11
  "test": "tests"
12
12
  },
13
13
  "scripts": {
14
- "build": "ember build",
15
- "lint": "npm run lint:js && npm run lint:hbs",
14
+ "build": "ember build --environment=production",
15
+ "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
16
+ "lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix",
16
17
  "lint:hbs": "ember-template-lint .",
17
- "lint:js": "eslint .",
18
+ "lint:hbs:fix": "ember-template-lint . --fix",
19
+ "lint:js": "eslint . --cache",
20
+ "lint:js:fix": "eslint . --fix",
18
21
  "start": "ember serve",
19
- "test": "ember test"
22
+ "test": "npm-run-all lint test:*",
23
+ "test:ember": "ember test"
20
24
  },
21
25
  "devDependencies": {
22
- "@ember/optional-features": "^1.1.0",
23
- "@fortawesome/ember-fontawesome": "^0.2.1",
24
- "@fortawesome/free-brands-svg-icons": "^5.13.0",
25
- "@fortawesome/free-regular-svg-icons": "^5.13.0",
26
- "@fortawesome/free-solid-svg-icons": "^5.13.0",
27
- "@glimmer/component": "^1.0.0",
26
+ "@ember/optional-features": "^2.0.0",
27
+ "@ember/test-helpers": "^2.6.0",
28
+ "@fortawesome/ember-fontawesome": "^0.4.1",
29
+ "@fortawesome/free-brands-svg-icons": "^6.3.0",
30
+ "@fortawesome/free-regular-svg-icons": "^6.3.0",
31
+ "@fortawesome/free-solid-svg-icons": "^6.3.0",
32
+ "@glimmer/component": "^1.0.4",
33
+ "@glimmer/tracking": "^1.0.4",
28
34
  "babel-eslint": "^10.1.0",
29
35
  "broccoli-asset-rev": "^3.0.0",
30
- "ember-auto-import": "^1.12.2",
31
- "ember-cli": "^3.15.0",
32
- "ember-cli-app-version": "^3.2.0",
33
- "ember-cli-babel": "^7.19.0",
36
+ "ember-auto-import": "^2.6.1",
37
+ "ember-classic-decorator": "^3.0.1",
38
+ "ember-cli": "^3.28.6",
39
+ "ember-cli-app-version": "^6.0.0",
40
+ "ember-cli-babel": "^7.26.10",
34
41
  "ember-cli-dependency-checker": "^3.2.0",
35
- "ember-cli-eslint": "^5.1.0",
36
- "ember-cli-htmlbars": "^4.3.1",
37
- "ember-cli-inject-live-reload": "^2.0.1",
42
+ "ember-cli-htmlbars": "^6.2.0",
43
+ "ember-cli-inject-live-reload": "^2.1.0",
38
44
  "ember-cli-sri": "^2.1.1",
39
- "ember-cli-template-lint": "^1.0.0",
40
- "ember-cli-uglify": "^3.0.0",
45
+ "ember-cli-terser": "^4.0.2",
46
+ "ember-decorators": "^6.1.1",
41
47
  "ember-export-application-global": "^2.0.1",
42
- "ember-load-initializers": "^2.1.1",
43
- "ember-maybe-import-regenerator": "^0.1.6",
44
- "ember-qunit": "^4.6.0",
45
- "ember-resolver": "^7.0.0",
46
- "ember-sinon-qunit": "^6.0.0",
47
- "ember-source": "^3.15.0",
48
- "eslint-plugin-ember": "^7.13.0",
49
- "eslint-plugin-node": "^10.0.0",
48
+ "ember-load-initializers": "^2.1.2",
49
+ "ember-maybe-import-regenerator": "^1.0.0",
50
+ "ember-page-title": "^7.0.0",
51
+ "ember-qunit": "^6.2.0",
52
+ "ember-resolver": "^10.0.0",
53
+ "ember-sinon-qunit": "^7.0.0",
54
+ "ember-source": "^3.28.11",
55
+ "eslint-config-discourse": "^3.4.0",
50
56
  "loader.js": "^4.7.0",
51
- "prettier": "^1.19.1",
52
- "qunit-dom": "^0.9.2"
57
+ "npm-run-all": "^4.1.5",
58
+ "qunit": "^2.17.2",
59
+ "qunit-dom": "^2.0.0",
60
+ "sinon": "^15.0.1",
61
+ "webpack": "^5.75.0"
53
62
  },
54
63
  "engines": {
55
- "node": "8.* || >= 10.*"
64
+ "node": "12.* || 14.* || >= 16"
56
65
  },
57
66
  "ember": {
58
67
  "edition": "octane"
@@ -61,6 +70,7 @@
61
70
  "moment": "~2.29.4"
62
71
  },
63
72
  "overrides": {
64
- "testem": "^3.9.0"
73
+ "testem": "^3.9.0",
74
+ "workerpool": "^6.3.1"
65
75
  }
66
76
  }
data/client-app/testem.js CHANGED
@@ -1,24 +1,23 @@
1
+ "use strict";
2
+
1
3
  module.exports = {
2
- test_page: 'tests/index.html?hidepassed',
4
+ test_page: "tests/index.html?hidepassed",
3
5
  disable_watching: true,
4
- launch_in_ci: [
5
- 'Chrome'
6
- ],
7
- launch_in_dev: [
8
- 'Chrome'
9
- ],
6
+ launch_in_ci: ["Chrome"],
7
+ launch_in_dev: ["Chrome"],
8
+ browser_start_timeout: 120,
10
9
  browser_args: {
11
10
  Chrome: {
12
11
  ci: [
13
12
  // --no-sandbox is needed when running Chrome inside a container
14
- process.env.CI ? '--no-sandbox' : null,
15
- '--headless',
16
- '--disable-dev-shm-usage',
17
- '--disable-software-rasterizer',
18
- '--mute-audio',
19
- '--remote-debugging-port=0',
20
- '--window-size=1440,900'
21
- ].filter(Boolean)
22
- }
23
- }
13
+ process.env.CI ? "--no-sandbox" : null,
14
+ "--headless",
15
+ "--disable-dev-shm-usage",
16
+ "--disable-software-rasterizer",
17
+ "--mute-audio",
18
+ "--remote-debugging-port=0",
19
+ "--window-size=1440,900",
20
+ ].filter(Boolean),
21
+ },
22
+ },
24
23
  };
@@ -22,7 +22,14 @@
22
22
  {{content-for "body"}}
23
23
  {{content-for "test-body"}}
24
24
 
25
- <script src="/testem.js" integrity=""></script>
25
+ <div id="qunit"></div>
26
+ <div id="qunit-fixture">
27
+ <div id="ember-testing-container">
28
+ <div id="ember-testing"></div>
29
+ </div>
30
+ </div>
31
+
32
+ <script src="/testem.js" integrity="" data-embroider-ignore></script>
26
33
  <script src="{{rootURL}}assets/vendor.js"></script>
27
34
  <script src="{{rootURL}}assets/test-support.js"></script>
28
35
  <script src="{{rootURL}}assets/client-app.js"></script>