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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +63 -12
- data/.gitignore +2 -0
- data/CHANGELOG.md +15 -5
- data/README.md +8 -0
- data/assets/javascript/.gitkeep +0 -0
- data/assets/javascript/chunk.143.f61340b825c6a3bf6dbe.js +22 -0
- data/assets/javascript/chunk.178.6d9ae01775c898e7b748.js +22 -0
- data/assets/javascript/chunk.468.95dd450003497c781cb3.js +1213 -0
- data/assets/javascript/chunk.916.85a3fc9d873df80f5ea5.js +579 -0
- data/assets/javascript/client-app.js +1259 -280
- data/assets/javascript/vendor.js +4068 -3375
- data/assets/stylesheets/.gitkeep +0 -0
- data/assets/stylesheets/client-app.css +1 -1
- data/assets/stylesheets/vendor.css +1 -1
- data/build_client_app.sh +6 -8
- data/client-app/.editorconfig +0 -1
- data/client-app/.eslintignore +2 -0
- data/client-app/.eslintrc +10 -0
- data/client-app/.gitignore +1 -1
- data/client-app/.prettierignore +21 -0
- data/client-app/.prettierrc +1 -0
- data/client-app/.template-lintrc.js +10 -0
- data/client-app/README.md +4 -5
- data/client-app/app/app.js +2 -2
- data/client-app/app/components/actions-menu.js +21 -21
- data/client-app/app/components/back-trace.js +93 -90
- data/client-app/app/components/env-tab.js +41 -29
- data/client-app/app/components/message-info.js +78 -75
- data/client-app/app/components/message-row.js +20 -17
- data/client-app/app/components/page-nav.js +33 -24
- data/client-app/app/components/panel-resizer.js +53 -37
- data/client-app/app/components/patterns-list.js +101 -84
- data/client-app/app/components/tab-contents.js +15 -19
- data/client-app/app/components/tabbed-section.js +30 -18
- data/client-app/app/components/time-formatter.js +29 -18
- data/client-app/app/controllers/index.js +143 -119
- data/client-app/app/controllers/show.js +17 -13
- data/client-app/app/helpers/or.js +1 -1
- data/client-app/app/initializers/app-init.js +23 -34
- data/client-app/app/lib/decorators.js +4 -2
- data/client-app/app/lib/preload.js +7 -4
- data/client-app/app/lib/utilities.js +55 -54
- data/client-app/app/models/group.js +20 -15
- data/client-app/app/models/message-collection.js +153 -149
- data/client-app/app/models/message.js +60 -58
- data/client-app/app/models/pattern-item.js +24 -22
- data/client-app/app/router.js +2 -2
- data/client-app/app/routes/index.js +19 -12
- data/client-app/app/routes/settings.js +12 -10
- data/client-app/app/routes/show.js +6 -4
- data/client-app/app/services/events.js +4 -0
- data/client-app/app/styles/app.css +2 -0
- data/client-app/app/templates/application.hbs +1 -2
- data/client-app/app/templates/components/actions-menu.hbs +23 -8
- data/client-app/app/templates/components/back-trace.hbs +10 -3
- data/client-app/app/templates/components/env-tab.hbs +9 -7
- data/client-app/app/templates/components/message-info.hbs +65 -34
- data/client-app/app/templates/components/message-row.hbs +25 -8
- data/client-app/app/templates/components/page-nav.hbs +34 -10
- data/client-app/app/templates/components/panel-resizer.hbs +3 -3
- data/client-app/app/templates/components/patterns-list.hbs +54 -20
- data/client-app/app/templates/components/tabbed-section.hbs +12 -4
- data/client-app/app/templates/components/time-formatter.hbs +1 -1
- data/client-app/app/templates/index.hbs +100 -78
- data/client-app/app/templates/settings.hbs +30 -19
- data/client-app/app/templates/show.hbs +9 -8
- data/client-app/config/ember-cli-update.json +18 -0
- data/client-app/config/environment.js +13 -13
- data/client-app/config/icons.js +3 -3
- data/client-app/config/targets.js +16 -8
- data/client-app/ember-cli-build.js +4 -4
- data/client-app/package.json +41 -31
- data/client-app/testem.js +16 -17
- data/client-app/tests/index.html +8 -1
- data/client-app/tests/integration/components/back-trace-test.js +49 -26
- data/client-app/tests/integration/components/env-tab-test.js +79 -53
- data/client-app/tests/integration/components/message-info-test.js +25 -23
- data/client-app/tests/integration/components/patterns-list-test.js +14 -11
- data/client-app/tests/test-helper.js +8 -4
- data/client-app/tests/unit/controllers/index-test.js +32 -16
- data/client-app/tests/unit/controllers/show-test.js +5 -5
- data/client-app/tests/unit/routes/index-test.js +5 -5
- data/client-app/tests/unit/routes/show-test.js +5 -5
- data/client-app/yarn.lock +9673 -0
- data/lib/logster/version.rb +1 -1
- data/logster.gemspec +6 -3
- metadata +15 -6
- data/client-app/.eslintrc.js +0 -60
- data/client-app/.travis.yml +0 -28
- data/client-app/app/components/update-time.js +0 -21
- data/client-app/package-lock.json +0 -16639
|
@@ -1,104 +1,126 @@
|
|
|
1
|
-
<div id=
|
|
1
|
+
<div id="top-panel">
|
|
2
2
|
<div id="log-table">
|
|
3
|
-
{{#if model.moreBefore}}
|
|
4
|
-
<div {{
|
|
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
|
|
8
|
+
Select to see
|
|
9
|
+
{{this.model.totalBefore}}
|
|
10
|
+
more
|
|
9
11
|
{{/if}}
|
|
10
12
|
</div>
|
|
11
13
|
{{/if}}
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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={{
|
|
102
|
+
value={{this.searchTerm}}
|
|
103
|
+
onkeyup={{this.updateSearch}}
|
|
92
104
|
/>
|
|
105
|
+
|
|
93
106
|
<div class="footer-btns">
|
|
94
|
-
{{#if showSettings}}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
107
|
+
{{#if this.showSettings}}
|
|
108
|
+
<LinkTo @route="settings" class="settings btn no-text">
|
|
109
|
+
<FaIcon @icon="cog" />
|
|
110
|
+
</LinkTo>
|
|
98
111
|
{{/if}}
|
|
99
|
-
|
|
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
|
-
|
|
125
|
+
|
|
126
|
+
<PanelResizer />
|
|
@@ -1,36 +1,47 @@
|
|
|
1
1
|
<div class="settings-page">
|
|
2
|
-
|
|
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
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
1
|
+
<LinkTo @route="index" class="recent-link">Recent</LinkTo>
|
|
2
2
|
|
|
3
3
|
<div id="bottom-panel" class="full">
|
|
4
|
-
|
|
5
|
-
currentMessage=model
|
|
6
|
-
showTitle="true"
|
|
7
|
-
envChangedAction=
|
|
8
|
-
currentEnvPosition=envPosition
|
|
9
|
-
actionsInMenu=false}}
|
|
10
|
-
|
|
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
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
|
-
module.exports = function(environment) {
|
|
3
|
+
module.exports = function (environment) {
|
|
4
4
|
let ENV = {
|
|
5
|
-
modulePrefix:
|
|
5
|
+
modulePrefix: "client-app",
|
|
6
6
|
environment,
|
|
7
|
-
rootURL:
|
|
8
|
-
locationType:
|
|
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 ===
|
|
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 ===
|
|
34
|
+
if (environment === "test") {
|
|
35
35
|
// Testem prefers this...
|
|
36
|
-
ENV.locationType =
|
|
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 =
|
|
42
|
+
ENV.APP.rootElement = "#ember-testing";
|
|
43
43
|
ENV.APP.autoboot = false;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
if (environment ===
|
|
46
|
+
if (environment === "production") {
|
|
47
47
|
// here you can enable a production-specific feature
|
|
48
48
|
}
|
|
49
49
|
|
data/client-app/config/icons.js
CHANGED
|
@@ -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
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
const browsers = [
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
"last 1 Chrome versions",
|
|
5
|
+
"last 1 Firefox versions",
|
|
6
|
+
"last 1 Safari versions",
|
|
7
7
|
];
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
data/client-app/package.json
CHANGED
|
@@ -11,48 +11,57 @@
|
|
|
11
11
|
"test": "tests"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "ember build",
|
|
15
|
-
"lint": "npm
|
|
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:
|
|
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": "
|
|
22
|
+
"test": "npm-run-all lint test:*",
|
|
23
|
+
"test:ember": "ember test"
|
|
20
24
|
},
|
|
21
25
|
"devDependencies": {
|
|
22
|
-
"@ember/optional-features": "^
|
|
23
|
-
"@
|
|
24
|
-
"@fortawesome/
|
|
25
|
-
"@fortawesome/free-
|
|
26
|
-
"@fortawesome/free-
|
|
27
|
-
"@
|
|
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": "^
|
|
31
|
-
"ember-
|
|
32
|
-
"ember-cli
|
|
33
|
-
"ember-cli-
|
|
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-
|
|
36
|
-
"ember-cli-
|
|
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-
|
|
40
|
-
"ember-
|
|
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.
|
|
43
|
-
"ember-maybe-import-regenerator": "^0.
|
|
44
|
-
"ember-
|
|
45
|
-
"ember-
|
|
46
|
-
"ember-
|
|
47
|
-
"ember-
|
|
48
|
-
"
|
|
49
|
-
"eslint-
|
|
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
|
-
"
|
|
52
|
-
"qunit
|
|
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": "
|
|
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:
|
|
4
|
+
test_page: "tests/index.html?hidepassed",
|
|
3
5
|
disable_watching: true,
|
|
4
|
-
launch_in_ci: [
|
|
5
|
-
|
|
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 ?
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
};
|
data/client-app/tests/index.html
CHANGED
|
@@ -22,7 +22,14 @@
|
|
|
22
22
|
{{content-for "body"}}
|
|
23
23
|
{{content-for "test-body"}}
|
|
24
24
|
|
|
25
|
-
<
|
|
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>
|