logster 2.11.4 → 2.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +15 -5
  5. data/README.md +8 -0
  6. data/assets/javascript/.gitkeep +0 -0
  7. data/assets/javascript/chunk.143.f61340b825c6a3bf6dbe.js +22 -0
  8. data/assets/javascript/chunk.178.6d9ae01775c898e7b748.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 +1259 -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 +93 -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 +49 -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>