Compare commits

...

148 Commits

Author SHA1 Message Date
Amir Raminfar
3d61f6db05 Release 2.1.0 2020-07-10 11:22:09 -07:00
Amir Raminfar
b25de1d921 Adds a new dashboard for default page (#569) 2020-07-10 11:06:28 -07:00
dependabot-preview[bot]
0d63b72cf6 Merge pull request #570 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001097 2020-07-10 03:43:23 +00:00
dependabot-preview[bot]
9936aeec6c Bump caniuse-lite from 1.0.30001096 to 1.0.30001097
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001096 to 1.0.30001097.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001096...v1.0.30001097)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-10 03:37:15 +00:00
Amir Raminfar
8885764e72 Exposes port 8080. Fixes #23 2020-07-09 19:02:01 -07:00
Amir Raminfar
46db2b035e Fixes tests 2020-07-09 13:03:56 -07:00
Amir Raminfar
74273b8bf7 Updates index page to a dashboard 2020-07-09 13:03:56 -07:00
Amir Raminfar
dcd7ccc099 Adds better colors 2020-07-09 13:03:55 -07:00
dependabot-preview[bot]
5bfd62b57a Merge pull request #568 from amir20/dependabot/npm_and_yarn/release-it-13.6.5 2020-07-09 18:40:46 +00:00
dependabot-preview[bot]
dc9739c1f3 Bump release-it from 13.6.4 to 13.6.5
Bumps [release-it](https://github.com/release-it/release-it) from 13.6.4 to 13.6.5.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.6.4...13.6.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-09 18:34:28 +00:00
dependabot-preview[bot]
2a0d0194a7 Merge pull request #566 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001096 2020-07-08 11:51:13 +00:00
dependabot-preview[bot]
920c10c318 Bump caniuse-lite from 1.0.30001094 to 1.0.30001096
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001094 to 1.0.30001096.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001094...v1.0.30001096)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-08 11:44:56 +00:00
dependabot-preview[bot]
fee69db8a3 Merge pull request #565 from amir20/dependabot/npm_and_yarn/sass-loader-9.0.2 2020-07-07 20:02:12 +00:00
dependabot-preview[bot]
ea663368e7 Bump sass-loader from 9.0.1 to 9.0.2
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.1 to 9.0.2.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.1...v9.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 19:56:18 +00:00
dependabot-preview[bot]
334d6feffd Merge pull request #563 from amir20/dependabot/npm_and_yarn/sass-1.26.10 2020-07-07 04:03:15 +00:00
dependabot-preview[bot]
b8ebc2e2c0 Bump sass from 1.26.9 to 1.26.10
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.9 to 1.26.10.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.26.9...1.26.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 03:55:56 +00:00
Amir Raminfar
2e6b35354d Updates int tests 2020-07-06 12:10:24 -07:00
Amir Raminfar
42d2b57814 Adds not found pages 2020-07-06 12:05:41 -07:00
Amir Raminfar
e88b535127 Updates to fullheight to half 2020-07-06 11:33:38 -07:00
dependabot-preview[bot]
0bb8d8e2e6 Merge pull request #562 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001094 2020-07-05 05:56:11 +00:00
dependabot-preview[bot]
5678b3192d Bump caniuse-lite from 1.0.30001093 to 1.0.30001094
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001093 to 1.0.30001094.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001093...v1.0.30001094)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-05 05:50:20 +00:00
Amir Raminfar
117530f1d6 Moves tests around 2020-07-04 15:29:24 -07:00
Amir Raminfar
ee5973b9f3 Use volumes (#560) 2020-07-04 11:33:45 -07:00
Amir Raminfar
fc99b7320f Fixes exit code 2020-07-03 18:27:15 -07:00
Amir Raminfar
a8536a101e Removes unused snapshots 2020-07-03 15:18:36 -07:00
Amir Raminfar
5302ace413 Adds more tests for light mode 2020-07-03 15:16:01 -07:00
Amir Raminfar
2e255ace60 Cleans up tests (#559) 2020-07-03 11:23:57 -07:00
dependabot-preview[bot]
b7515fb32a Merge pull request #558 from amir20/dependabot/npm_and_yarn/sass-loader-9.0.1 2020-07-03 17:33:12 +00:00
dependabot-preview[bot]
396a6bb3e9 Bump sass-loader from 9.0.0 to 9.0.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.0...v9.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-03 17:26:38 +00:00
dependabot-preview[bot]
79fcbdcd62 Merge pull request #557 from amir20/dependabot/npm_and_yarn/vue-jest-3.0.6 2020-07-03 12:58:13 +00:00
dependabot-preview[bot]
e2348f5b38 Bump vue-jest from 3.0.5 to 3.0.6
Bumps [vue-jest](https://github.com/vuejs/vue-jest) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/vuejs/vue-jest/releases)
- [Commits](https://github.com/vuejs/vue-jest/commits/v3.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-03 12:52:55 +00:00
Amir Raminfar
d345998052 Update README.md 2020-07-02 11:51:30 -07:00
Amir Raminfar
08cc04379d Adds hot reload for development (#553) 2020-07-02 11:32:37 -07:00
dependabot-preview[bot]
027af5a853 Merge pull request #556 from amir20/dependabot/npm_and_yarn/sass-loader-9.0.0 2020-07-02 18:18:25 +00:00
dependabot-preview[bot]
abc27165a2 Bump sass-loader from 8.0.2 to 9.0.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.2 to 9.0.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.2...v9.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-02 18:13:18 +00:00
Amir Raminfar
3aa420a589 Adds more int tests for custom base 2020-07-02 11:01:11 -07:00
dependabot-preview[bot]
045ff730bc Bump puppeteer from 4.0.1 to 5.0.0 in /integration (#555)
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 4.0.1 to 5.0.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Commits](https://github.com/puppeteer/puppeteer/compare/v4.0.1...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-02 07:26:53 -07:00
dependabot-preview[bot]
075f17ee36 Merge pull request #554 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001093 2020-07-02 02:14:15 +00:00
dependabot-preview[bot]
cb3177fa06 Bump caniuse-lite from 1.0.30001091 to 1.0.30001093
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001091 to 1.0.30001093.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001091...v1.0.30001093)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-02 02:08:38 +00:00
dependabot-preview[bot]
d3e00adf4e Merge pull request #552 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001091 2020-07-01 00:19:10 +00:00
dependabot-preview[bot]
9100958e22 Bump caniuse-lite from 1.0.30001090 to 1.0.30001091
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001090 to 1.0.30001091.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001090...v1.0.30001091)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 00:14:00 +00:00
Amir Raminfar
eed1c0c568 Release 2.0.5 2020-06-30 12:15:57 -07:00
Amir Raminfar
f692bee5cd Adds console.....oops 2020-06-30 12:14:45 -07:00
Amir Raminfar
86cfaaee6d Adds min-height to fix #547 2020-06-30 11:31:50 -07:00
Amir Raminfar
e8b5fd0523 Release 2.0.4 2020-06-30 11:28:33 -07:00
Amir Raminfar
2fadf6e680 Fixes #551. Auto scroll not working in Firefox 2020-06-30 11:21:37 -07:00
Amir Raminfar
835549d503 Release 2.0.3 2020-06-30 10:59:54 -07:00
Amir Raminfar
0540ceaf43 Fixes broken close button on header 2020-06-30 10:59:42 -07:00
dependabot-preview[bot]
6812d1ac62 Merge pull request #549 from amir20/dependabot/npm_and_yarn/babel/plugin-transform-runtime-7.10.4 2020-06-30 16:59:13 +00:00
dependabot-preview[bot]
1375a59105 Bump @babel/plugin-transform-runtime from 7.10.3 to 7.10.4
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-plugin-transform-runtime)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 16:52:00 +00:00
dependabot-preview[bot]
ec5ece7975 Merge pull request #550 from amir20/dependabot/npm_and_yarn/babel/core-7.10.4 2020-06-30 16:50:05 +00:00
dependabot-preview[bot]
2efcc07706 Bump @babel/core from 7.10.3 to 7.10.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 16:44:55 +00:00
dependabot-preview[bot]
9cef13ae74 Merge pull request #546 from amir20/dependabot/npm_and_yarn/vuex-3.5.1 2020-06-29 15:51:35 +00:00
dependabot-preview[bot]
3466ce0004 Bump vuex from 3.4.0 to 3.5.1
Bumps [vuex](https://github.com/vuejs/vuex) from 3.4.0 to 3.5.1.
- [Release notes](https://github.com/vuejs/vuex/releases)
- [Changelog](https://github.com/vuejs/vuex/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuex/compare/v3.4.0...v3.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-29 15:45:49 +00:00
Amir Raminfar
605094aa10 Release 2.0.2 2020-06-28 18:40:12 -07:00
Amir Raminfar
19ad9a7dac Fixes tests 2020-06-28 18:39:26 -07:00
Amir Raminfar
f870dff905 Release 2.0.1 2020-06-28 16:30:07 -07:00
Amir Raminfar
200f997239 Adds black to logo 2020-06-28 16:29:53 -07:00
dependabot-preview[bot]
63d8ec3e13 Merge pull request #545 from amir20/dependabot/npm_and_yarn/release-it-13.6.4 2020-06-28 20:15:14 +00:00
dependabot-preview[bot]
ae22e622eb Bump release-it from 13.6.3 to 13.6.4
Bumps [release-it](https://github.com/release-it/release-it) from 13.6.3 to 13.6.4.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.6.3...13.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-28 20:09:29 +00:00
Amir Raminfar
66edc3d99f Updates logo to standard svg and cleans up styles a little (#544)
* Adds SVG logo

* Fixes int tests

* Updates js tests
2020-06-28 11:56:26 -07:00
Amir Raminfar
c15458cd10 Release 2.0.0 2020-06-27 18:02:56 -07:00
Amir Raminfar
8fa672edd1 Updates themes to use vars (#541)
* Adds vars for themeing

* Uses correct color vars

* Adds more vars

* Adds other variables

* Use data attribute only

* Adds animation and unifies color

* Fixes tests

* Fixes search

* Adds docker ignore

* Fixes search text

* Fixes int tests

* Fixes int tests again
2020-06-27 14:32:34 -07:00
dependabot-preview[bot]
3d68a8ddb0 Merge pull request #543 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001090 2020-06-27 20:03:53 +00:00
dependabot-preview[bot]
c8ded47fce Bump caniuse-lite from 1.0.30001089 to 1.0.30001090
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001089 to 1.0.30001090.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001089...v1.0.30001090)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 19:58:10 +00:00
dependabot-preview[bot]
f9e7274c55 Merge pull request #542 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001089 2020-06-27 07:03:54 +00:00
dependabot-preview[bot]
a86b57e326 Bump caniuse-lite from 1.0.30001088 to 1.0.30001089
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001088 to 1.0.30001089.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001088...v1.0.30001089)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 06:58:17 +00:00
dependabot-preview[bot]
b312df68cf Merge pull request #540 from amir20/dependabot/npm_and_yarn/dompurify-2.0.12 2020-06-24 23:50:08 +00:00
dependabot-preview[bot]
590bc364f3 Bump dompurify from 2.0.11 to 2.0.12
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.0.11 to 2.0.12.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.0.11...2.0.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-24 23:42:46 +00:00
Amir Raminfar
5fc4314462 Adds is-hidden-mobile for progress 2020-06-24 11:03:38 -07:00
Amir Raminfar
a2ed4aa847 Adds px to stroke 2020-06-24 10:15:22 -07:00
dependabot-preview[bot]
9ffd00006d Merge pull request #539 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001088 2020-06-24 16:35:59 +00:00
dependabot-preview[bot]
748ae21788 Bump caniuse-lite from 1.0.30001087 to 1.0.30001088
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001087 to 1.0.30001088.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001087...v1.0.30001088)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-24 16:31:06 +00:00
dependabot-preview[bot]
2b3ad7e7c4 Merge pull request #538 from amir20/dependabot/npm_and_yarn/integration/puppeteer-4.0.1 2020-06-24 13:39:16 +00:00
dependabot-preview[bot]
d07bb785cf Bump puppeteer from 4.0.0 to 4.0.1 in /integration
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Commits](https://github.com/puppeteer/puppeteer/compare/v4.0.0...v4.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-24 13:33:51 +00:00
dependabot-preview[bot]
37fed1c94c Merge pull request #537 from amir20/dependabot/npm_and_yarn/babel-jest-26.1.0 2020-06-24 00:27:37 +00:00
dependabot-preview[bot]
601d725ff8 Bump babel-jest from 26.0.1 to 26.1.0
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 26.0.1 to 26.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v26.1.0/packages/babel-jest)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-24 00:22:34 +00:00
dependabot-preview[bot]
4914517330 Merge pull request #536 from amir20/dependabot/npm_and_yarn/jest-26.1.0 2020-06-24 00:20:43 +00:00
dependabot-preview[bot]
bbaff67dbd Bump jest from 26.0.1 to 26.1.0
Bumps [jest](https://github.com/facebook/jest) from 26.0.1 to 26.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v26.0.1...v26.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-24 00:16:06 +00:00
dependabot-preview[bot]
d228cc6dee Merge pull request #535 from amir20/dependabot/npm_and_yarn/vue-loader-15.9.3 2020-06-23 20:58:46 +00:00
Amir Raminfar
1810764092 Adds progress notification bar (#526) 2020-06-23 13:55:45 -07:00
dependabot-preview[bot]
aaec84a2ae Bump vue-loader from 15.9.2 to 15.9.3
Bumps [vue-loader](https://github.com/vuejs/vue-loader) from 15.9.2 to 15.9.3.
- [Release notes](https://github.com/vuejs/vue-loader/releases)
- [Changelog](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-loader/compare/v15.9.2...v15.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 20:53:52 +00:00
Amir Raminfar
6f40303aa3 Release 1.29.0 2020-06-23 12:16:45 -07:00
Amir Raminfar
5c4922538a Updates snapshots 2020-06-23 12:05:13 -07:00
catalinmunteanu
156c6abffc added support for toggling between new light theme and dark theme. (#527)
* added support for toggling between new light theme and dark theme.

* improved light theme colors

* light-theme styles are now scoped and applied in each component/page

Co-authored-by: Catalin MUNTEANU <cmunteanu@bitdefender.com>
2020-06-23 11:28:04 -07:00
dependabot-preview[bot]
deaa66117a Merge pull request #534 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001087 2020-06-23 18:12:05 +00:00
dependabot-preview[bot]
bb63e17fbc Bump caniuse-lite from 1.0.30001085 to 1.0.30001087
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001085 to 1.0.30001087.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001085...v1.0.30001087)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 18:07:02 +00:00
dependabot-preview[bot]
7806ba76ab Merge pull request #533 from amir20/dependabot/npm_and_yarn/integration/jest-26.1.0 2020-06-23 15:26:31 +00:00
dependabot-preview[bot]
3d2c892973 Bump jest from 26.0.1 to 26.1.0 in /integration
Bumps [jest](https://github.com/facebook/jest) from 26.0.1 to 26.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v26.0.1...v26.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 15:21:17 +00:00
dependabot-preview[bot]
d2226836a1 Merge pull request #531 from amir20/dependabot/npm_and_yarn/sass-1.26.9 2020-06-23 02:12:09 +00:00
dependabot-preview[bot]
f510fef4ce Bump sass from 1.26.8 to 1.26.9
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.8 to 1.26.9.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.26.8...1.26.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 02:06:36 +00:00
dependabot-preview[bot]
cb7f2aafda Merge pull request #530 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001085 2020-06-22 20:28:54 +00:00
dependabot-preview[bot]
c02401e94a Bump caniuse-lite from 1.0.30001084 to 1.0.30001085
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001084 to 1.0.30001085.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001084...v1.0.30001085)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 20:23:19 +00:00
dependabot-preview[bot]
aec4df9260 Merge pull request #529 from amir20/dependabot/npm_and_yarn/babel/core-7.10.3 2020-06-22 19:08:39 +00:00
dependabot-preview[bot]
8928e191cc Bump @babel/core from 7.10.2 to 7.10.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 19:02:58 +00:00
dependabot-preview[bot]
45ba37fa5a Merge pull request #528 from amir20/dependabot/npm_and_yarn/babel/plugin-transform-runtime-7.10.3 2020-06-22 18:37:04 +00:00
dependabot-preview[bot]
f20d5f88c5 Bump @babel/plugin-transform-runtime from 7.10.1 to 7.10.3
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.10.1 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-plugin-transform-runtime)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 18:31:41 +00:00
Amir Raminfar
cfc88af2d4 Release 1.28.0 2020-06-18 14:35:21 -07:00
Amir Raminfar
9575af7a2b Locale support for 12 hr / 24 format (#525) 2020-06-18 14:07:04 -07:00
dependabot-preview[bot]
6e180f2c29 Bump puppeteer from 3.3.0 to 4.0.0 in /integration (#520)
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 3.3.0 to 4.0.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Commits](https://github.com/puppeteer/puppeteer/compare/v3.3.0...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-18 09:41:58 -07:00
dependabot-preview[bot]
b9e986abc0 Merge pull request #524 from amir20/dependabot/npm_and_yarn/webpack-cli-3.3.12 2020-06-18 15:51:26 +00:00
dependabot-preview[bot]
efaf1fb336 Bump webpack-cli from 3.3.11 to 3.3.12
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.11 to 3.3.12.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.12/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.11...v3.3.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-18 15:45:58 +00:00
dependabot-preview[bot]
0168670bca Merge pull request #522 from amir20/dependabot/npm_and_yarn/lint-staged-10.2.11 2020-06-17 16:17:00 +00:00
dependabot-preview[bot]
bc96c3e387 Bump lint-staged from 10.2.10 to 10.2.11
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.2.10 to 10.2.11.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.2.10...v10.2.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-17 16:10:46 +00:00
dependabot-preview[bot]
6473b7f96c Merge pull request #521 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001084 2020-06-16 17:20:59 +00:00
dependabot-preview[bot]
8fe6bbfa35 Bump caniuse-lite from 1.0.30001083 to 1.0.30001084
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001083 to 1.0.30001084.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001083...v1.0.30001084)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-16 17:15:53 +00:00
Amir Raminfar
0ad19f7dde Disconnects correctly 2020-06-15 16:44:20 -07:00
dependabot-preview[bot]
fc1e9588ec Merge pull request #519 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001083 2020-06-15 22:03:02 +00:00
dependabot-preview[bot]
1e63c503ff Bump caniuse-lite from 1.0.30001081 to 1.0.30001083
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001081 to 1.0.30001083.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001081...v1.0.30001083)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 21:57:45 +00:00
dependabot-preview[bot]
c5384ba086 Merge pull request #518 from amir20/dependabot/npm_and_yarn/release-it-13.6.3 2020-06-15 21:39:09 +00:00
dependabot-preview[bot]
220c2af8bc Bump release-it from 13.6.2 to 13.6.3
Bumps [release-it](https://github.com/release-it/release-it) from 13.6.2 to 13.6.3.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.6.2...13.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 21:33:29 +00:00
dependabot-preview[bot]
0f8734801b Merge pull request #517 from amir20/dependabot/npm_and_yarn/css-loader-3.6.0 2020-06-15 21:21:44 +00:00
dependabot-preview[bot]
e88221b616 Bump css-loader from 3.5.3 to 3.6.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.5.3...v3.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 21:16:51 +00:00
dependabot-preview[bot]
8fe2013f32 Merge pull request #516 from amir20/dependabot/npm_and_yarn/vue-router-3.3.4 2020-06-15 21:15:01 +00:00
dependabot-preview[bot]
f4d893ede1 Bump vue-router from 3.3.3 to 3.3.4
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.3.3 to 3.3.4.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.3.3...v3.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 21:09:41 +00:00
Amir Raminfar
f8bba86158 Release 1.27.3 2020-06-14 13:25:17 -07:00
Amir Raminfar
eb86e37521 Moves background color to html tag 2020-06-14 13:24:46 -07:00
dependabot-preview[bot]
c2d6eb2329 Merge pull request #515 from amir20/dependabot/npm_and_yarn/lint-staged-10.2.10 2020-06-12 16:00:11 +00:00
dependabot-preview[bot]
e8ac3944a8 Merge pull request #514 from amir20/dependabot/npm_and_yarn/vue-router-3.3.3 2020-06-12 15:59:23 +00:00
dependabot-preview[bot]
bbc2dd0cbe Bump lint-staged from 10.2.9 to 10.2.10
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.2.9 to 10.2.10.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.2.9...v10.2.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-12 15:54:23 +00:00
dependabot-preview[bot]
3babcb3302 Bump vue-router from 3.3.2 to 3.3.3
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.3.2...v3.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-12 15:53:59 +00:00
dependabot-preview[bot]
a062a89401 Merge pull request #512 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001081 2020-06-10 16:43:33 +00:00
dependabot-preview[bot]
2a71c5a32b Merge pull request #513 from amir20/dependabot/npm_and_yarn/vue-meta-2.4.0 2020-06-10 16:43:18 +00:00
dependabot-preview[bot]
e379c664f1 Bump vue-meta from 2.3.4 to 2.4.0
Bumps [vue-meta](https://github.com/nuxt/vue-meta) from 2.3.4 to 2.4.0.
- [Release notes](https://github.com/nuxt/vue-meta/releases)
- [Changelog](https://github.com/nuxt/vue-meta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nuxt/vue-meta/compare/v2.3.4...v2.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 16:38:15 +00:00
dependabot-preview[bot]
8b0b1bbeac Bump caniuse-lite from 1.0.30001079 to 1.0.30001081
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001079 to 1.0.30001081.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001079...v1.0.30001081)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 16:38:03 +00:00
dependabot-preview[bot]
ff093efe14 Merge pull request #510 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001079 2020-06-08 19:46:20 +00:00
dependabot-preview[bot]
a4a34c624f Merge pull request #509 from amir20/dependabot/npm_and_yarn/bulma-0.9.0 2020-06-08 19:45:33 +00:00
dependabot-preview[bot]
8a021f4afb Bump caniuse-lite from 1.0.30001078 to 1.0.30001079
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001078 to 1.0.30001079.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001078...v1.0.30001079)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 19:40:57 +00:00
dependabot-preview[bot]
983d92c46f Bump bulma from 0.8.2 to 0.9.0
Bumps [bulma](https://github.com/jgthms/bulma) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/jgthms/bulma/releases)
- [Changelog](https://github.com/jgthms/bulma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jgthms/bulma/compare/0.8.2...0.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 19:40:17 +00:00
Amir Raminfar
da50df986a Release 1.27.2 2020-06-06 09:47:53 -07:00
Amir Raminfar
471e7ad875 Using arm instead of arm64 2020-06-06 09:47:40 -07:00
Amir Raminfar
c3efac3bf5 Release 1.27.1 2020-06-06 09:38:07 -07:00
Amir Raminfar
a0f87f6fe2 Adds v7 arm back 2020-06-06 07:59:13 -07:00
Amir Raminfar
87d95b1b37 Uses alpine current 2020-06-06 07:59:13 -07:00
dependabot-preview[bot]
43c2bc65a8 Merge pull request #507 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001078 2020-06-05 13:28:16 +00:00
dependabot-preview[bot]
312632d55e Bump caniuse-lite from 1.0.30001077 to 1.0.30001078
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001077 to 1.0.30001078.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001077...v1.0.30001078)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 13:23:14 +00:00
dependabot-preview[bot]
0492869496 Merge pull request #506 from amir20/dependabot/go_modules/github.com/stretchr/testify-1.6.1 2020-06-05 13:23:07 +00:00
dependabot-preview[bot]
92905bcd1c Merge pull request #505 from amir20/dependabot/npm_and_yarn/sass-1.26.8 2020-06-05 13:22:41 +00:00
dependabot-preview[bot]
aa72a7e049 Bump github.com/stretchr/testify from 1.6.0 to 1.6.1
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.6.0...v1.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 13:18:14 +00:00
dependabot-preview[bot]
68b2d8a11a Bump sass from 1.26.7 to 1.26.8
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.7 to 1.26.8.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.26.7...1.26.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 13:17:02 +00:00
Amir Raminfar
deea6df2fe Update issue templates 2020-06-04 09:44:52 -07:00
dependabot-preview[bot]
2c81b0ff74 Merge pull request #503 from amir20/dependabot/npm_and_yarn/lint-staged-10.2.9 2020-06-04 16:16:45 +00:00
dependabot-preview[bot]
53aee9178d Bump lint-staged from 10.2.8 to 10.2.9
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.2.8 to 10.2.9.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.2.8...v10.2.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-04 16:11:18 +00:00
dependabot-preview[bot]
abbc5d4b22 Merge pull request #501 from amir20/dependabot/npm_and_yarn/lint-staged-10.2.8 2020-06-03 16:08:45 +00:00
dependabot-preview[bot]
979e06b437 Bump lint-staged from 10.2.7 to 10.2.8
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.2.7 to 10.2.8.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.2.7...v10.2.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 16:02:34 +00:00
dependabot-preview[bot]
b1d7ff77e9 Merge pull request #500 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001077 2020-06-03 06:18:39 +00:00
dependabot-preview[bot]
666f21d5af Bump caniuse-lite from 1.0.30001066 to 1.0.30001077
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001066 to 1.0.30001077.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001066...v1.0.30001077)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 06:12:55 +00:00
Amir Raminfar
ff98621150 Adds stale 2020-06-02 19:19:32 -07:00
56 changed files with 2822 additions and 1304 deletions

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: amir20
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS, Windows or Mac Os]
- Docker version [e.g. `docker version`'s output]
- Browser & version [e.g. chrome, safari]
- Version [e.g. 1.26.1. Can be found at `<Dozzle-host>/version`]
**If applicable include logs with `--level debug` and browser logs**

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: amir20
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

17
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 20
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 3
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

View File

@@ -1 +1 @@
-r '\.go$' -R '^node_modules/' -R '^static/' -R '^.cache/' -G '*_test.go' -s -- go run main.go routes.go --level debug
-r '\.go$' -R 'node_modules' -R '^static/' -R '^.cache/' -G '*_test.go' -s -- go run main.go routes.go --level debug

View File

@@ -1,5 +1,5 @@
# Build assets
FROM node:14-alpine as node
FROM node:current-alpine as node
RUN apk add --no-cache git openssh python make g++ util-linux
@@ -54,4 +54,6 @@ ENV PATH=/bin
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=builder /dozzle/dozzle /dozzle
EXPOSE 8080
ENTRYPOINT ["/dozzle"]

View File

@@ -1,5 +1,5 @@
TAG := $(shell git describe --tags)
PLATFROMS := linux/amd64,linux/arm64/v8
PLATFROMS := linux/amd64,linux/arm/v7,linux/arm64/v8
.PHONY: publish
publish:

View File

@@ -138,6 +138,6 @@ To Build and test locally:
2. Install Go.
3. Globally install [packr utility](https://github.com/gobuffalo/packr) with `go get -u github.com/gobuffalo/packr/packr` outside of dozzle directory.
4. Install [reflex](https://github.com/cespare/reflex) with `get -u github.com/cespare/reflex` outside of dozzle.
5. Install node modules with `npm install`.
6. Do `npm start`
5. Install node modules with `yarn`.
6. Do `yarn dev`

View File

@@ -8,7 +8,7 @@
</pane>
<pane min-size="10">
<splitpanes>
<pane class="has-min-height">
<pane class="has-min-height router-view">
<search></search>
<router-view></router-view>
</pane>
@@ -82,6 +82,9 @@ export default {
if (this.hasSmallerScrollbars) {
document.documentElement.classList.add("has-custom-scrollbars");
}
if (this.hasLightTheme) {
document.documentElement.setAttribute("data-theme", "light");
}
this.menuWidth = this.settings.menuWidth;
},
watch: {
@@ -92,6 +95,13 @@ export default {
document.documentElement.classList.remove("has-custom-scrollbars");
}
},
hasLightTheme(newValue, oldValue) {
if (newValue) {
document.documentElement.setAttribute("data-theme", "light");
} else {
document.documentElement.removeAttribute("data-theme");
}
},
},
computed: {
...mapState(["activeContainers", "isMobile", "settings"]),
@@ -99,6 +109,9 @@ export default {
hasSmallerScrollbars() {
return this.settings.smallerScrollbars;
},
hasLightTheme() {
return this.settings.lightTheme;
},
},
methods: {
...mapActions({
@@ -119,9 +132,15 @@ export default {
<style scoped lang="scss">
::v-deep .splitpanes--vertical > .splitpanes__splitter {
min-width: 3px;
background: #666;
background: var(--border-color);
&:hover {
background: rgb(255, 221, 87);
background: var(--border-hover-color);
}
}
@media screen and (max-width: 768px) {
.router-view {
padding-top: 75px;
}
}

View File

@@ -25,7 +25,7 @@ exports[`<App /> renders correctly 1`] = `
pushotherpanes="true"
>
<pane-stub
class="has-min-height"
class="has-min-height router-view"
maxsize="100"
minsize="0"
>

View File

@@ -26,5 +26,18 @@ export default {
background: rgba(0, 0, 0, 0.1);
font-weight: bold;
font-family: monospace;
button.delete {
background-color: var(--scheme-main-ter);
opacity: 0.6;
&:after,
&:before {
background-color: var(--text-color);
}
&:hover {
opacity: 1;
}
}
}
</style>

View File

@@ -31,6 +31,8 @@ export default {
);
intersectionObserver.observe(this.$refs.observer);
this.$once("hook:beforeDestroy", () => intersectionObserver.disconnect());
},
};
</script>

View File

@@ -19,10 +19,10 @@ describe("<LogEventSource />", () => {
global.EventSource = EventSource;
window.scrollTo = jest.fn();
const observe = jest.fn();
const unobserve = jest.fn();
const disconnect = jest.fn();
global.IntersectionObserver = jest.fn(() => ({
observe,
unobserve,
disconnect,
}));
debounce.mockClear();
});
@@ -144,7 +144,7 @@ describe("<LogEventSource />", () => {
await wrapper.vm.$nextTick();
expect(wrapper.find("ul.events")).toMatchInlineSnapshot(`
<ul class="events medium">
<li class=""><span class="date">today at 10:55 AM</span> <span class="text">"This is a message."</span></li>
<li class=""><span class="date"><time datetime="2019-06-12T10:55:42.459Z">today at 10:55 AM</time></span> <span class="text">"This is a message."</span></li>
</ul>
`);
});
@@ -159,7 +159,7 @@ describe("<LogEventSource />", () => {
await wrapper.vm.$nextTick();
expect(wrapper.find("ul.events")).toMatchInlineSnapshot(`
<ul class="events medium">
<li class=""><span class="date">today at 10:55 AM</span> <span class="text"><span style="color:#000">black<span style="color:#AAA">white</span></span></span></li>
<li class=""><span class="date"><time datetime="2019-06-12T10:55:42.459Z">today at 10:55 AM</time></span> <span class="text"><span style="color:#000">black<span style="color:#AAA">white</span></span></span></li>
</ul>
`);
});
@@ -174,7 +174,7 @@ describe("<LogEventSource />", () => {
await wrapper.vm.$nextTick();
expect(wrapper.find("ul.events")).toMatchInlineSnapshot(`
<ul class="events medium">
<li class=""><span class="date">today at 10:55 AM</span> <span class="text">&lt;test&gt;foo bar&lt;/test&gt;</span></li>
<li class=""><span class="date"><time datetime="2019-06-12T10:55:42.459Z">today at 10:55 AM</time></span> <span class="text">&lt;test&gt;foo bar&lt;/test&gt;</span></li>
</ul>
`);
});
@@ -192,7 +192,7 @@ describe("<LogEventSource />", () => {
await wrapper.vm.$nextTick();
expect(wrapper.find("ul.events")).toMatchInlineSnapshot(`
<ul class="events medium">
<li class=""><span class="date">today at 10:55 AM</span> <span class="text">This is a <mark>test</mark> &lt;hi&gt;&lt;/hi&gt;</span></li>
<li class=""><span class="date"><time datetime="2019-06-12T10:55:42.459Z">today at 10:55 AM</time></span> <span class="text">This is a <mark>test</mark> &lt;hi&gt;&lt;/hi&gt;</span></li>
</ul>
`);
});

View File

@@ -1,17 +1,16 @@
<template>
<ul class="events" :class="settings.size">
<li v-for="item in filtered" :key="item.key" :class="{ event: !!item.event }">
<span class="date" v-if="settings.showTimestamp">{{ item.date | relativeTime }}</span>
<span class="date" v-if="settings.showTimestamp"><relative-time :date="item.date"></relative-time></span>
<span class="text" v-html="colorize(item.message)"></span>
</li>
</ul>
</template>
<script>
import { mapActions, mapGetters, mapState } from "vuex";
import { formatRelative } from "date-fns";
import AnsiConvertor from "ansi-to-html";
import DOMPurify from "dompurify";
import RelativeTime from "./RelativeTime";
const ansiConvertor = new AnsiConvertor({ escapeXML: true });
@@ -24,7 +23,7 @@ if (window.trustedTypes && trustedTypes.createPolicy) {
export default {
props: ["messages"],
name: "LogViewer",
components: {},
components: { RelativeTime },
data() {
return {
showSearch: false,
@@ -60,11 +59,6 @@ export default {
return messages;
},
},
filters: {
relativeTime(date) {
return formatRelative(date, new Date());
},
},
};
</script>
<style scoped lang="scss">
@@ -97,6 +91,13 @@ export default {
.date {
background-color: #262626;
color: #258ccd;
[data-theme="light"] & {
background-color: #f0f0f0;
color: #009900;
padding-left: 5px;
padding-right: 5px;
}
}
.text {
@@ -109,8 +110,8 @@ li.event {
::v-deep mark {
border-radius: 2px;
background-color: #ffdd57;
animation: pops 0.2s ease-out;
background-color: var(--secondary-color);
animation: pops 200ms ease-out;
display: inline-block;
}

View File

@@ -2,13 +2,15 @@
<aside>
<a
role="button"
class="navbar-burger burger is-white is-hidden-tablet is-pulled-right"
class="navbar-burger burger is-hidden-tablet is-pulled-right"
@click="showNav = !showNav"
:class="{ 'is-active': showNav }"
>
<span></span> <span></span> <span></span>
</a>
<h1 class="title has-text-warning is-marginless">Dozzle</h1>
<svg class="logo">
<use href="#logo"></use>
</svg>
<p class="menu-label is-hidden-mobile" :class="{ 'is-active': showNav }">Containers</p>
<ul class="menu-list is-hidden-mobile" :class="{ 'is-active': showNav }">
<li v-for="item in visibleContainers" :key="item.id">
@@ -54,7 +56,7 @@ aside {
top: 0;
left: 0;
right: 0;
background: #222;
background: var(--scheme-main-ter);
z-index: 2;
max-height: 100vh;
overflow: auto;
@@ -68,8 +70,12 @@ aside {
overflow: hidden;
}
.burger.is-white {
color: #fff;
.title {
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);
}
.burger {
color: var(--body-color);
}
.is-hidden-mobile.is-active {
@@ -79,5 +85,11 @@ aside {
.navbar-burger {
height: 2.35rem;
}
.logo {
width: 82px;
height: 36px;
fill: var(--logo-color);
}
}
</style>

View File

@@ -0,0 +1,34 @@
<template>
<time :datetime="date.toISOString()">{{ date | relativeTime }}</time>
</template>
<script>
import { formatRelative } from "date-fns";
import { enGB, enUS } from "date-fns/locale";
const use24Hr =
new Intl.DateTimeFormat(undefined, {
hour: "numeric",
})
.formatToParts(new Date(2020, 0, 1, 13))
.find((part) => part.type === "hour").value.length === 2;
const locale = use24Hr ? enGB : enUS;
export default {
props: {
date: {
required: true,
type: Date,
},
},
name: "RelativeTime",
components: {},
filters: {
relativeTime(date) {
return formatRelative(date, new Date(), { locale });
},
},
};
</script>

View File

@@ -0,0 +1,88 @@
<template>
<div class="scroll-progress">
<svg width="100" height="100" viewBox="0 0 100 100">
<circle r="44" cx="50" cy="50" :style="{ '--progress': scrollProgress }" />
</svg>
<div class="is-overlay columns is-vcentered is-centered has-text-weight-light">
<span class="column is-narrow is-paddingless is-size-2">
{{ Math.ceil(scrollProgress * 100) }}
</span>
<span class="column is-narrow is-paddingless">
%
</span>
</div>
</div>
</template>
<script>
import { mapState } from "vuex";
import throttle from "lodash.throttle";
export default {
name: "ScrollProgress",
data() {
return {
scrollProgress: 0,
animation: { cancel: () => {} },
parentElement: document,
};
},
created() {
this.onScrollThrottled = throttle(this.onScroll, 150);
},
mounted() {
this.attachEvents();
this.$once("hook:beforeDestroy", this.detachEvents);
},
watch: {
activeContainers() {
this.detachEvents();
this.attachEvents();
},
},
computed: {
...mapState(["activeContainers"]),
},
methods: {
attachEvents() {
this.parentElement = this.$el.closest("[data-scrolling]") || document;
this.parentElement.addEventListener("scroll", this.onScrollThrottled);
},
detachEvents() {
this.parentElement.removeEventListener("scroll", this.onScrollThrottled);
},
onScroll() {
const p = this.parentElement == document ? document.documentElement : this.parentElement;
this.scrollProgress = p.scrollTop / (p.scrollHeight - p.clientHeight);
this.animation.cancel();
this.animation = this.$el.animate(
{ opacity: [1, 0] },
{
duration: 500,
delay: 2000,
fill: "both",
easing: "ease-out",
}
);
},
},
};
</script>
<style scoped lang="scss">
.scroll-progress {
display: inline-block;
position: relative;
circle {
fill: var(--scheme-main-ter);
fill-opacity: 0.8;
transition: stroke-dashoffset 250ms ease-out;
transform: rotate(-90deg);
transform-origin: 50% 50%;
stroke: var(--primary-color);
stroke-dashoffset: calc(276.32px - var(--progress) * 276.32px);
stroke-dasharray: 276.32px 276.32px;
stroke-width: 3;
will-change: stroke-dashoffset;
}
}
</style>

View File

@@ -4,17 +4,16 @@
<slot name="header"></slot>
</header>
<main ref="content" :data-scrolling="scrollable">
<div class="is-scrollbar-progress is-hidden-mobile">
<scroll-progress v-show="paused"></scroll-progress>
</div>
<slot></slot>
<div ref="scrollObserver"></div>
<div ref="scrollObserver" class="is-scroll-observer"></div>
</main>
<div class="scroll-bar-notification">
<div class="is-scrollbar-notification">
<transition name="fade">
<button
class="button"
:class="hasMore ? 'is-warning' : 'is-primary'"
@click="scrollToBottom('instant')"
v-show="paused"
>
<button class="button" :class="hasMore ? 'has-more' : ''" @click="scrollToBottom('instant')" v-show="paused">
<icon name="download"></icon>
</button>
</transition>
@@ -24,6 +23,7 @@
<script>
import Icon from "./Icon";
import ScrollProgress from "./ScrollProgress";
export default {
props: {
@@ -34,6 +34,7 @@ export default {
},
components: {
Icon,
ScrollProgress,
},
name: "ScrollableView",
data() {
@@ -44,20 +45,22 @@ export default {
},
mounted() {
const { content } = this.$refs;
new MutationObserver((e) => {
const mutationObserver = new MutationObserver((e) => {
if (!this.paused) {
this.scrollToBottom("instant");
} else {
this.hasMore = true;
}
}).observe(content, { childList: true, subtree: true });
});
mutationObserver.observe(content, { childList: true, subtree: true });
this.$once("hook:beforeDestroy", () => mutationObserver.disconnect());
const intersectionObserver = new IntersectionObserver(
(entries) => (this.paused = entries[0].intersectionRatio == 0),
{ threshholds: [0, 1], rootMargin: "80px 0px" }
);
intersectionObserver.observe(this.$refs.scrollObserver);
this.$once("hook:beforeDestroy", () => intersectionObserver.disconnect());
},
methods: {
@@ -75,6 +78,7 @@ section {
&.is-full-height-scrollable {
height: 100vh;
min-height: 0;
}
main {
@@ -83,12 +87,54 @@ section {
scroll-snap-type: y proximity;
}
.scroll-bar-notification {
.is-scrollbar-progress {
text-align: right;
margin-right: 110px;
.scroll-progress {
position: fixed;
top: 60px;
z-index: 2;
}
}
.is-scroll-observer {
height: 1px;
}
.is-scrollbar-notification {
text-align: right;
margin-right: 65px;
button {
position: fixed;
bottom: 30px;
background-color: var(--secondary-color);
transition: background-color 1s ease-out;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
border: none !important;
&.has-more {
background-color: var(--primary-color);
animation-name: bounce;
animation-duration: 1000ms;
animation-fill-mode: both;
color: #fff;
}
}
}
@keyframes bounce {
0%,
20%,
50%,
80%,
100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}

View File

@@ -75,17 +75,36 @@ export default {
width: 350px;
position: fixed;
padding: 10px;
background: rgba(50, 50, 50, 0.9);
background: var(--scheme-main-ter);
top: 0;
right: 0;
border-radius: 0 0 0 5px;
z-index: 10;
}
.delete {
margin-left: 1em;
}
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
.icon {
padding: 10px 3px;
button.delete {
margin-left: 1em;
background-color: var(--scheme-main-ter);
opacity: 0.6;
&:after,
&:before {
background-color: var(--text-color);
}
&:hover {
opacity: 1;
}
}
.icon {
padding: 10px 3px;
}
.input {
color: var(--body-color);
&::placeholder {
color: var(--border-color);
}
}
}
</style>

View File

@@ -1,10 +1,14 @@
<template>
<aside>
<div class="columns is-marginless">
<div class="column">
<h1 class="title has-text-warning is-marginless">Dozzle</h1>
<div class="column is-paddingless">
<router-link :to="{ name: 'default' }">
<svg class="logo">
<use href="#logo"></use>
</svg>
</router-link>
</div>
<div class="column is-narrow has-text-right is-hidden-mobile">
<div class="column is-narrow has-text-right x">
<router-link
:to="{ name: 'settings' }"
active-class="is-active"
@@ -79,10 +83,6 @@ aside {
overflow: hidden;
}
.burger.is-white {
color: #fff;
}
.is-hidden-mobile.is-active {
display: block !important;
}
@@ -92,11 +92,17 @@ li.exited a {
color: #777;
}
.logo {
width: 122px;
height: 54px;
fill: var(--logo-color);
}
.will-append-container.icon {
transition: transform 0.2s ease-out;
&.is-active {
pointer-events: none;
color: #00d1b2;
color: var(--primary-color);
}
.router-link-exact-active & {
visibility: hidden;

File diff suppressed because one or more lines are too long

View File

@@ -6,10 +6,7 @@ import Switch from "buefy/dist/esm/switch";
import store from "./store";
import config from "./store/config";
import App from "./App.vue";
import Container from "./pages/Container.vue";
import Settings from "./pages/Settings.vue";
import Index from "./pages/Index.vue";
import Show from "./pages/Show.vue";
import { Container, Settings, Index, Show, ContainerNotFound, PageNotFound } from "./pages";
Vue.use(VueRouter);
Vue.use(Meta);
@@ -28,6 +25,11 @@ const routes = [
name: "container",
props: true,
},
{
path: "/container/*",
component: ContainerNotFound,
name: "container-not-found",
},
{
path: "/settings",
component: Settings,
@@ -38,6 +40,11 @@ const routes = [
component: Show,
name: "show",
},
{
path: "/*",
component: PageNotFound,
name: "page-not-found",
},
];
const router = new VueRouter({

View File

@@ -13,6 +13,7 @@ import { mapActions, mapGetters, mapState } from "vuex";
import LogViewerWithSource from "../components/LogViewerWithSource";
import ScrollableView from "../components/ScrollableView";
import ContainerTitle from "../components/ContainerTitle";
import store from "../store";
export default {
props: ["id", "name"],

View File

@@ -0,0 +1,18 @@
<template>
<div class="hero is-halfheight">
<div class="hero-body">
<div class="container has-text-centered">
<h1 class="title">
Container not found.
<small class="subtitle">It may have been removed.</small>
</h1>
</div>
</div>
</div>
</template>
<script>
export default {
name: "ContainerNotFound",
};
</script>

View File

@@ -1,9 +0,0 @@
import { shallowMount } from "@vue/test-utils";
import Index from "./Index";
describe("<Index />", () => {
test("renders correctly", () => {
const wrapper = shallowMount(Index);
expect(wrapper.element).toMatchSnapshot();
});
});

View File

@@ -1,22 +1,146 @@
<template>
<div class="hero is-fullheight is-dark">
<div class="hero-body">
<div class="container has-text-centered">
<h1 class="title">Please choose a container from the list to view the logs</h1>
<div>
<section class="hero is-small mt-4">
<div class="hero-body">
<div class="container">
<h1 class="title">
Hello, there!
</h1>
</div>
</div>
</div>
</section>
<section class="level section">
<div class="level-item has-text-centered">
<div>
<p class="title">{{ containers.length }}</p>
<p class="heading">Total Containers</p>
</div>
</div>
<div class="level-item has-text-centered">
<div>
<p class="title">{{ runningContainers.length }}</p>
<p class="heading">Running</p>
</div>
</div>
<div class="level-item has-text-centered">
<div>
<p class="title">{{ version }}</p>
<p class="heading">Dozzle Version</p>
</div>
</div>
</section>
<section class="columns is-centered">
<div class="column is-4">
<div class="panel">
<p class="panel-heading">
Containers
</p>
<div class="panel-block">
<p class="control has-icons-left">
<input
class="input"
type="text"
placeholder="Search Containers"
v-model="search"
@keyup.esc="search = null"
/>
<span class="icon is-left">
<icon name="search"></icon>
</span>
</p>
</div>
<p class="panel-tabs">
<a :class="{ 'is-active': sort === 'recent' }" @click="sort = 'recent'">Recent</a>
<a :class="{ 'is-active': sort === 'running' }" @click="sort = 'running'">Running</a>
<a :class="{ 'is-active': sort === 'all' }" @click="sort = 'all'">All</a>
</p>
<router-link
:to="{ name: 'container', params: { id: item.id, name: item.name } }"
v-for="item in results.slice(0, 10)"
:key="item.id"
class="panel-block"
>
<span class="name">{{ item.name }}</span>
<!-- <div class="subtitle is-7 status">
{{ item.status }}
</div> -->
</router-link>
</div>
</div>
</section>
</div>
</template>
<script>
import { mapActions, mapGetters, mapState } from "vuex";
import Icon from "../components/Icon";
import config from "../store/config";
export default {
props: [],
name: "Default",
name: "Index",
components: { Icon },
data() {
return {
version: config.version,
search: null,
sort: "recent",
};
},
computed: {
...mapState(["containers"]),
mostRecentContainers() {
return [...this.containers].sort((a, b) => b.created - a.created);
},
runningContainers() {
return this.containers.filter((c) => c.state === "running");
},
allContainers() {
return this.containers;
},
results() {
if (this.search) {
const term = this.search.toLowerCase();
return this.allContainers.filter((c) => c.name.toLowerCase().includes(term));
}
switch (this.sort) {
case "all":
return this.allContainers;
case "running":
return this.runningContainers;
case "recent":
return this.mostRecentContainers;
default:
throw `Invalid sort order: ${this.sort}`;
}
},
},
};
</script>
<style scoped>
.hero.is-dark {
color: #ddd;
background-color: #111;
<style lang="scss" scoped>
.panel {
border: 1px solid var(--border-color);
.panel-block,
.panel-tabs {
border-color: var(--border-color);
.is-active {
border-color: var(--border-hover-color);
}
.name {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.status {
margin-left: auto;
white-space: nowrap;
}
}
}
.icon {
padding: 10px 3px;
}
</style>

View File

@@ -0,0 +1,18 @@
<template>
<div class="hero is-halfheight">
<div class="hero-body">
<div class="container has-text-centered">
<h1 class="title">
Oops,
<small class="subtitle">this page doesn't exist</small>
</h1>
</div>
</div>
</div>
</template>
<script>
export default {
name: "PageNotFound",
};
</script>

View File

@@ -45,6 +45,12 @@
</b-switch>
</div>
<div class="item">
<b-switch v-model="lightTheme">
Use light theme
</b-switch>
</div>
<div class="item">
<h2 class="title is-6 is-marginless">Font size</h2>
Modify the font size when viewing logs.
@@ -112,29 +118,30 @@ export default {
},
computed: {
...mapState(["settings"]),
...["search", "size", "smallerScrollbars", "showTimestamp", "showAllContainers"].reduce((map, name) => {
map[name] = {
get() {
return this.settings[name];
},
set(value) {
this.updateSetting({ [name]: value });
},
};
return map;
}, {}),
...["search", "size", "smallerScrollbars", "showTimestamp", "showAllContainers", "lightTheme"].reduce(
(map, name) => {
map[name] = {
get() {
return this.settings[name];
},
set(value) {
this.updateSetting({ [name]: value });
},
};
return map;
},
{}
),
},
};
</script>
<style lang="scss" scoped>
.title {
color: #eee;
color: var(--title-color);
}
a.next-release {
text-decoration: underline;
color: #00d1b2;
&:hover {
text-decoration: none;
}
@@ -145,7 +152,7 @@ a.next-release {
}
.has-underline {
border-bottom: 1px solid #fff;
border-bottom: 1px solid var(--title-color);
padding: 1em 0px;
margin-bottom: 1em;
}

View File

@@ -1,21 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<Index /> renders correctly 1`] = `
<div
class="hero is-fullheight is-dark"
>
<div
class="hero-body"
>
<div
class="container has-text-centered"
>
<h1
class="title"
>
Please choose a container from the list to view the logs
</h1>
</div>
</div>
</div>
`;

6
assets/pages/index.js Normal file
View File

@@ -0,0 +1,6 @@
export { default as Index } from "./Index.vue";
export { default as ContainerNotFound } from "./ContainerNotFound.vue";
export { default as Show } from "./Show.vue";
export { default as Container } from "./Container.vue";
export { default as Settings } from "./Settings.vue";
export { default as PageNotFound } from "./PageNotFound.vue";

View File

@@ -1,2 +1,6 @@
const config = JSON.parse(document.querySelector("script#config__json").textContent);
if (config.version == "{{ .Version }}") {
config.version = "dev";
config.base = "";
}
export default config;

View File

@@ -6,4 +6,5 @@ export const DEFAULT_SETTINGS = {
smallerScrollbars: false,
showTimestamp: true,
showAllContainers: false,
lightTheme: false
};

View File

@@ -1,7 +1,29 @@
@charset "utf-8";
@import "~bulma/sass/utilities/initial-variables.sass";
$menu-item-active-background-color: hsl(171, 100%, 41%);
$menu-item-color: hsl(0, 6%, 87%);
$body-family: "Roboto", sans-serif;
$body-background-color: var(--body-background-color);
$scheme-main: var(--scheme-main);
$scheme-main-bis: var(--scheme-main-bis);
$scheme-main-ter: var(--scheme-main-ter);
$border: var(--border-color);
$border-hover: var(--border-hover-color);
$menu-item-active-background-color: var(--menu-item-active-background-color);
$menu-item-color: var(--menu-item-color);
$menu-item-hover-background-color: var(--menu-item-hover-background-color);
$menu-item-hover-color: var(--menu-item-hover-color);
$text-strong: var(--text-strong-color);
$text: var(--text-color);
$panel-heading-background-color: var(--panel-heading-background-color);
$panel-heading-color: var(--panel-heading-color);
$link: $turquoise;
$link-active: $grey-dark;
@import "~bulma";
@import "../node_modules/splitpanes/dist/splitpanes.css";
@@ -9,14 +31,56 @@ $menu-item-color: hsl(0, 6%, 87%);
@import "~buefy/src/scss/components/_dropdown";
@import "~buefy/src/scss/components/_switch";
body {
font-family: "Roboto", sans-serif;
color: #ddd;
background-color: #111;
html {
--scheme-main: #{$black};
--scheme-main-bis: #{$black-bis};
--scheme-main-ter: #{$black-ter};
--border-color: #{$grey-darker};
--border-hover-color: var(--secondary-color);
--logo-color: var(--secondary-color);
--primary-color: #{$turquoise};
--secondary-color: #{$yellow};
--body-background-color: #{$black-bis};
--menu-item-active-background-color: var(--primary-color);
--menu-item-color: hsl(0, 6%, 87%);
--menu-item-hover-background-color: #{$white-ter};
--menu-item-hover-color: #{$black-ter};
--panel-heading-background-color: var(--secondary-color);
--panel-heading-color: var(--scheme-main-bis);
--text-strong-color: #{$grey-lightest};
--text-color: #{$grey-lighter};
}
h1.title {
font-family: "Gafata", sans-serif;
[data-theme="light"] {
--scheme-main: #{$white};
--scheme-main-bis: #{$white-bis};
--scheme-main-ter: #{$white-ter};
--border-color: #{$grey-lighter};
--border-hover-color: var(--secondary-color);
--logo-color: #{$grey-darker};
--primary-color: #{$turquoise};
--secondary-color: #d8f0ca;
--body-background-color: #{$white-bis};
--body-color: #{$grey-darker};
--menu-item-color: #{$grey-dark};
--menu-item-hover-background-color: #eee8e7;
--menu-item-hover-color: #{black-ter};
--panel-heading-background-color: var(--secondary-color);
--panel-heading-color: var(--text-strong-color);
--text-strong-color: #{$grey-dark};
--text-color: #{$grey-darker};
}
html {
@@ -60,7 +124,7 @@ html.has-custom-scrollbars {
color: #fff;
border-color: transparent;
&:hover {
border-color: rgb(255, 221, 87) !important;
border-color: var(--border-hover-color) !important;
background: rgba(0, 0, 0, 0.8) !important;
color: #fff !important;
}

View File

@@ -95,9 +95,8 @@ func (d *dockerClient) ListContainers() ([]Container, error) {
return nil, err
}
var containers []Container
var containers = make([]Container, 0, len(list))
for _, c := range list {
container := Container{
ID: c.ID[:12],
Names: c.Names,
@@ -116,10 +115,6 @@ func (d *dockerClient) ListContainers() ([]Container, error) {
return strings.ToLower(containers[i].Name) < strings.ToLower(containers[j].Name)
})
if containers == nil {
containers = []Container{}
}
return containers, nil
}

2
go.mod
View File

@@ -41,7 +41,7 @@ require (
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.7.0
github.com/stretchr/objx v0.2.0 // indirect
github.com/stretchr/testify v1.6.0
github.com/stretchr/testify v1.6.1
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b // indirect
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae // indirect
google.golang.org/genproto v0.0.0-20200226201735-46b91f19d98c // indirect

2
go.sum
View File

@@ -318,6 +318,8 @@ github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho=
github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=

View File

@@ -0,0 +1 @@
node_modules

View File

@@ -1,8 +1,8 @@
FROM amir20/docker-alpine-puppeteer:edge
FROM amir20/docker-alpine-puppeteer:v1
COPY --chown=pptruser:pptruser package*.json yarn.lock /app/
RUN yarn
COPY package*.json yarn.lock /app/
RUN yarn
COPY --chown=pptruser:pptruser . /app/
COPY . /app/
CMD [ "yarn", "test"]
CMD ["yarn", "test"]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -0,0 +1,21 @@
const puppeteer = require("puppeteer");
const { CUSTOM_URL: URL } = process.env;
describe("Dozzle with custom base", () => {
beforeEach(async () => {
await page.goto(URL, { waitUntil: "networkidle2" });
});
it("renders full page on desktop", async () => {
const image = await page.screenshot({ fullPage: true });
expect(image).toMatchImageSnapshot();
});
it("and shows one container with correct title", async () => {
const menuTitle = await page.$eval("aside ul.menu-list li a", (e) => e.title);
expect(menuTitle).toEqual("custom_base");
});
});

View File

@@ -2,11 +2,11 @@ const puppeteer = require("puppeteer");
const iPhoneX = puppeteer.devices["iPhone X"];
const iPadLandscape = puppeteer.devices["iPad landscape"];
const { BASE } = process.env;
const { DEFAULT_URL: URL } = process.env;
describe("home page", () => {
beforeEach(async () => {
await page.goto(BASE, { waitUntil: "networkidle2" });
await page.goto(URL, { waitUntil: "networkidle2" });
});
it("renders full page on desktop", async () => {
@@ -43,7 +43,7 @@ describe("home page", () => {
});
beforeEach(async () => {
await page.goto(BASE, { waitUntil: "networkidle2" });
await page.goto(URL, { waitUntil: "networkidle2" });
});
it("and shows one container with correct title", async () => {

View File

@@ -0,0 +1,37 @@
const puppeteer = require("puppeteer");
const iPhoneX = puppeteer.devices["iPhone X"];
const iPadLandscape = puppeteer.devices["iPad landscape"];
const { DEFAULT_URL: URL } = process.env;
describe("Dozzle with light mode", () => {
beforeAll(async () => {
await page.goto(URL + "/settings", { waitUntil: "networkidle2" });
await page.$$eval("label.switch", (elements) => {
elements.filter((e) => e.textContent.trim() === "Use light theme")[0].click();
});
});
beforeEach(async () => {
await page.goto(URL, { waitUntil: "networkidle2" });
});
it("renders full page on desktop", async () => {
const image = await page.screenshot({ fullPage: true });
expect(image).toMatchImageSnapshot();
});
it("renders ipad viewport", async () => {
await page.emulate(iPadLandscape);
const image = await page.screenshot();
expect(image).toMatchImageSnapshot();
});
it("renders iphone viewport", async () => {
await page.emulate(iPhoneX);
const image = await page.screenshot();
expect(image).toMatchImageSnapshot();
});
});

View File

@@ -1,5 +1,14 @@
version: "3.4"
services:
custom_base:
container_name: custom_base
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DOZZLE_FILTER=name=custom_base
- DOZZLE_BASE=/foobarbase
build:
context: ..
dozzle:
container_name: dozzle
volumes:
@@ -12,7 +21,11 @@ services:
build:
context: .
command: yarn test
volumes:
- ./__tests__:/app/__tests__
environment:
- BASE=http://dozzle:8080/
- DEFAULT_URL=http://dozzle:8080/
- CUSTOM_URL=http://custom_base:8080/foobarbase
depends_on:
- dozzle
- custom_base

View File

@@ -10,7 +10,7 @@
"dependencies": {
"jest": "^26.0.1",
"jest-image-snapshot": "^4.0.0",
"puppeteer": "^3.0.4"
"puppeteer": "^5.0.0"
},
"jest": {
"preset": "jest-puppeteer",

View File

@@ -326,103 +326,103 @@
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
"@jest/console@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.0.1.tgz#62b3b2fa8990f3cbffbef695c42ae9ddbc8f4b39"
integrity sha512-9t1KUe/93coV1rBSxMmBAOIK3/HVpwxArCA1CxskKyRiv6o8J70V8C/V3OJminVCTa2M0hQI9AWRd5wxu2dAHw==
"@jest/console@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.1.0.tgz#f67c89e4f4d04dbcf7b052aed5ab9c74f915b954"
integrity sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
jest-message-util "^26.0.1"
jest-util "^26.0.1"
jest-message-util "^26.1.0"
jest-util "^26.1.0"
slash "^3.0.0"
"@jest/core@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.0.1.tgz#aa538d52497dfab56735efb00e506be83d841fae"
integrity sha512-Xq3eqYnxsG9SjDC+WLeIgf7/8KU6rddBxH+SCt18gEpOhAGYC/Mq+YbtlNcIdwjnnT+wDseXSbU0e5X84Y4jTQ==
"@jest/core@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.1.0.tgz#4580555b522de412a7998b3938c851e4f9da1c18"
integrity sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw==
dependencies:
"@jest/console" "^26.0.1"
"@jest/reporters" "^26.0.1"
"@jest/test-result" "^26.0.1"
"@jest/transform" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/console" "^26.1.0"
"@jest/reporters" "^26.1.0"
"@jest/test-result" "^26.1.0"
"@jest/transform" "^26.1.0"
"@jest/types" "^26.1.0"
ansi-escapes "^4.2.1"
chalk "^4.0.0"
exit "^0.1.2"
graceful-fs "^4.2.4"
jest-changed-files "^26.0.1"
jest-config "^26.0.1"
jest-haste-map "^26.0.1"
jest-message-util "^26.0.1"
jest-changed-files "^26.1.0"
jest-config "^26.1.0"
jest-haste-map "^26.1.0"
jest-message-util "^26.1.0"
jest-regex-util "^26.0.0"
jest-resolve "^26.0.1"
jest-resolve-dependencies "^26.0.1"
jest-runner "^26.0.1"
jest-runtime "^26.0.1"
jest-snapshot "^26.0.1"
jest-util "^26.0.1"
jest-validate "^26.0.1"
jest-watcher "^26.0.1"
jest-resolve "^26.1.0"
jest-resolve-dependencies "^26.1.0"
jest-runner "^26.1.0"
jest-runtime "^26.1.0"
jest-snapshot "^26.1.0"
jest-util "^26.1.0"
jest-validate "^26.1.0"
jest-watcher "^26.1.0"
micromatch "^4.0.2"
p-each-series "^2.1.0"
rimraf "^3.0.0"
slash "^3.0.0"
strip-ansi "^6.0.0"
"@jest/environment@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.0.1.tgz#82f519bba71959be9b483675ee89de8c8f72a5c8"
integrity sha512-xBDxPe8/nx251u0VJ2dFAFz2H23Y98qdIaNwnMK6dFQr05jc+Ne/2np73lOAx+5mSBO/yuQldRrQOf6hP1h92g==
"@jest/environment@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.1.0.tgz#378853bcdd1c2443b4555ab908cfbabb851e96da"
integrity sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA==
dependencies:
"@jest/fake-timers" "^26.0.1"
"@jest/types" "^26.0.1"
jest-mock "^26.0.1"
"@jest/fake-timers" "^26.1.0"
"@jest/types" "^26.1.0"
jest-mock "^26.1.0"
"@jest/fake-timers@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.0.1.tgz#f7aeff13b9f387e9d0cac9a8de3bba538d19d796"
integrity sha512-Oj/kCBnTKhm7CR+OJSjZty6N1bRDr9pgiYQr4wY221azLz5PHi08x/U+9+QpceAYOWheauLP8MhtSVFrqXQfhg==
"@jest/fake-timers@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.1.0.tgz#9a76b7a94c351cdbc0ad53e5a748789f819a65fe"
integrity sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
"@sinonjs/fake-timers" "^6.0.1"
jest-message-util "^26.0.1"
jest-mock "^26.0.1"
jest-util "^26.0.1"
jest-message-util "^26.1.0"
jest-mock "^26.1.0"
jest-util "^26.1.0"
"@jest/globals@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.0.1.tgz#3f67b508a7ce62b6e6efc536f3d18ec9deb19a9c"
integrity sha512-iuucxOYB7BRCvT+TYBzUqUNuxFX1hqaR6G6IcGgEqkJ5x4htNKo1r7jk1ji9Zj8ZMiMw0oB5NaA7k5Tx6MVssA==
"@jest/globals@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.1.0.tgz#6cc5d7cbb79b76b120f2403d7d755693cf063ab1"
integrity sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw==
dependencies:
"@jest/environment" "^26.0.1"
"@jest/types" "^26.0.1"
expect "^26.0.1"
"@jest/environment" "^26.1.0"
"@jest/types" "^26.1.0"
expect "^26.1.0"
"@jest/reporters@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.0.1.tgz#14ae00e7a93e498cec35b0c00ab21c375d9b078f"
integrity sha512-NWWy9KwRtE1iyG/m7huiFVF9YsYv/e+mbflKRV84WDoJfBqUrNRyDbL/vFxQcYLl8IRqI4P3MgPn386x76Gf2g==
"@jest/reporters@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.1.0.tgz#08952e90c90282e14ff49e927bdf1873617dae78"
integrity sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg==
dependencies:
"@bcoe/v8-coverage" "^0.2.3"
"@jest/console" "^26.0.1"
"@jest/test-result" "^26.0.1"
"@jest/transform" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/console" "^26.1.0"
"@jest/test-result" "^26.1.0"
"@jest/transform" "^26.1.0"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
collect-v8-coverage "^1.0.0"
exit "^0.1.2"
glob "^7.1.2"
graceful-fs "^4.2.4"
istanbul-lib-coverage "^3.0.0"
istanbul-lib-instrument "^4.0.0"
istanbul-lib-instrument "^4.0.3"
istanbul-lib-report "^3.0.0"
istanbul-lib-source-maps "^4.0.0"
istanbul-reports "^3.0.2"
jest-haste-map "^26.0.1"
jest-resolve "^26.0.1"
jest-util "^26.0.1"
jest-worker "^26.0.0"
jest-haste-map "^26.1.0"
jest-resolve "^26.1.0"
jest-util "^26.1.0"
jest-worker "^26.1.0"
slash "^3.0.0"
source-map "^0.6.0"
string-length "^4.0.1"
@@ -431,61 +431,61 @@
optionalDependencies:
node-notifier "^7.0.0"
"@jest/source-map@^26.0.0":
version "26.0.0"
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.0.0.tgz#fd7706484a7d3faf7792ae29783933bbf48a4749"
integrity sha512-S2Z+Aj/7KOSU2TfW0dyzBze7xr95bkm5YXNUqqCek+HE0VbNNSNzrRwfIi5lf7wvzDTSS0/ib8XQ1krFNyYgbQ==
"@jest/source-map@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.1.0.tgz#a6a020d00e7d9478f4b690167c5e8b77e63adb26"
integrity sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA==
dependencies:
callsites "^3.0.0"
graceful-fs "^4.2.4"
source-map "^0.6.0"
"@jest/test-result@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.0.1.tgz#1ffdc1ba4bc289919e54b9414b74c9c2f7b2b718"
integrity sha512-oKwHvOI73ICSYRPe8WwyYPTtiuOAkLSbY8/MfWF3qDEd/sa8EDyZzin3BaXTqufir/O/Gzea4E8Zl14XU4Mlyg==
"@jest/test-result@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.1.0.tgz#a93fa15b21ad3c7ceb21c2b4c35be2e407d8e971"
integrity sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw==
dependencies:
"@jest/console" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/console" "^26.1.0"
"@jest/types" "^26.1.0"
"@types/istanbul-lib-coverage" "^2.0.0"
collect-v8-coverage "^1.0.0"
"@jest/test-sequencer@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.0.1.tgz#b0563424728f3fe9e75d1442b9ae4c11da73f090"
integrity sha512-ssga8XlwfP8YjbDcmVhwNlrmblddMfgUeAkWIXts1V22equp2GMIHxm7cyeD5Q/B0ZgKPK/tngt45sH99yLLGg==
"@jest/test-sequencer@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz#41a6fc8b850c3f33f48288ea9ea517c047e7f14e"
integrity sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q==
dependencies:
"@jest/test-result" "^26.0.1"
"@jest/test-result" "^26.1.0"
graceful-fs "^4.2.4"
jest-haste-map "^26.0.1"
jest-runner "^26.0.1"
jest-runtime "^26.0.1"
jest-haste-map "^26.1.0"
jest-runner "^26.1.0"
jest-runtime "^26.1.0"
"@jest/transform@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.0.1.tgz#0e3ecbb34a11cd4b2080ed0a9c4856cf0ceb0639"
integrity sha512-pPRkVkAQ91drKGbzCfDOoHN838+FSbYaEAvBXvKuWeeRRUD8FjwXkqfUNUZL6Ke48aA/1cqq/Ni7kVMCoqagWA==
"@jest/transform@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.1.0.tgz#697f48898c2a2787c9b4cb71d09d7e617464e509"
integrity sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw==
dependencies:
"@babel/core" "^7.1.0"
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
babel-plugin-istanbul "^6.0.0"
chalk "^4.0.0"
convert-source-map "^1.4.0"
fast-json-stable-stringify "^2.0.0"
graceful-fs "^4.2.4"
jest-haste-map "^26.0.1"
jest-haste-map "^26.1.0"
jest-regex-util "^26.0.0"
jest-util "^26.0.1"
jest-util "^26.1.0"
micromatch "^4.0.2"
pirates "^4.0.1"
slash "^3.0.0"
source-map "^0.6.1"
write-file-atomic "^3.0.0"
"@jest/types@^26.0.1":
version "26.0.1"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.0.1.tgz#b78333fbd113fa7aec8d39de24f88de8686dac67"
integrity sha512-IbtjvqI9+eS1qFnOIEL7ggWmT+iK/U+Vde9cGWtYb/b6XgKb3X44ZAe/z9YZzoAAZ/E92m0DqrilF934IGNnQA==
"@jest/types@^26.1.0":
version "26.1.0"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.1.0.tgz#f8afaaaeeb23b5cad49dd1f7779689941dcb6057"
integrity sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^1.1.1"
@@ -506,6 +506,17 @@
dependencies:
"@sinonjs/commons" "^1.7.0"
"@types/babel__core@^7.0.0":
version "7.1.9"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d"
integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
"@types/babel__generator" "*"
"@types/babel__template" "*"
"@types/babel__traverse" "*"
"@types/babel__core@^7.1.7":
version "7.1.7"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89"
@@ -765,16 +776,16 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
babel-jest@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.0.1.tgz#450139ce4b6c17174b136425bda91885c397bc46"
integrity sha512-Z4GGmSNQ8pX3WS1O+6v3fo41YItJJZsVxG5gIQ+HuB/iuAQBJxMTHTwz292vuYws1LnHfwSRgoqI+nxdy/pcvw==
babel-jest@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.1.0.tgz#b20751185fc7569a0f135730584044d1cb934328"
integrity sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg==
dependencies:
"@jest/transform" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/transform" "^26.1.0"
"@jest/types" "^26.1.0"
"@types/babel__core" "^7.1.7"
babel-plugin-istanbul "^6.0.0"
babel-preset-jest "^26.0.0"
babel-preset-jest "^26.1.0"
chalk "^4.0.0"
graceful-fs "^4.2.4"
slash "^3.0.0"
@@ -790,13 +801,14 @@ babel-plugin-istanbul@^6.0.0:
istanbul-lib-instrument "^4.0.0"
test-exclude "^6.0.0"
babel-plugin-jest-hoist@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.0.0.tgz#fd1d35f95cf8849fc65cb01b5e58aedd710b34a8"
integrity sha512-+AuoehOrjt9irZL7DOt2+4ZaTM6dlu1s5TTS46JBa0/qem4dy7VNW3tMb96qeEqcIh20LD73TVNtmVEeymTG7w==
babel-plugin-jest-hoist@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz#c6a774da08247a28285620a64dfadbd05dd5233a"
integrity sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw==
dependencies:
"@babel/template" "^7.3.3"
"@babel/types" "^7.3.3"
"@types/babel__core" "^7.0.0"
"@types/babel__traverse" "^7.0.6"
babel-preset-current-node-syntax@^0.1.2:
@@ -815,12 +827,12 @@ babel-preset-current-node-syntax@^0.1.2:
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
babel-preset-jest@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.0.0.tgz#1eac82f513ad36c4db2e9263d7c485c825b1faa6"
integrity sha512-9ce+DatAa31DpR4Uir8g4Ahxs5K4W4L8refzt+qHWQANb6LhGcAEfIFgLUwk67oya2cCUd6t4eUMtO/z64ocNw==
babel-preset-jest@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz#612f714e5b457394acfd863793c564cbcdb7d1c1"
integrity sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w==
dependencies:
babel-plugin-jest-hoist "^26.0.0"
babel-plugin-jest-hoist "^26.1.0"
babel-preset-current-node-syntax "^0.1.2"
balanced-match@^1.0.0:
@@ -1408,16 +1420,16 @@ expect-puppeteer@^4.4.0:
resolved "https://registry.yarnpkg.com/expect-puppeteer/-/expect-puppeteer-4.4.0.tgz#1c948af08acdd6c8cbdb7f90e617f44d86888886"
integrity sha512-6Ey4Xy2xvmuQu7z7YQtMsaMV0EHJRpVxIDOd5GRrm04/I3nkTKIutELfECsLp6le+b3SSa3cXhPiw6PgqzxYWA==
expect@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/expect/-/expect-26.0.1.tgz#18697b9611a7e2725e20ba3ceadda49bc9865421"
integrity sha512-QcCy4nygHeqmbw564YxNbHTJlXh47dVID2BUP52cZFpLU9zHViMFK6h07cC1wf7GYCTIigTdAXhVua8Yl1FkKg==
expect@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/expect/-/expect-26.1.0.tgz#8c62e31d0f8d5a8ebb186ee81473d15dd2fbf7c8"
integrity sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
ansi-styles "^4.0.0"
jest-get-type "^26.0.0"
jest-matcher-utils "^26.0.1"
jest-message-util "^26.0.1"
jest-matcher-utils "^26.1.0"
jest-message-util "^26.1.0"
jest-regex-util "^26.0.0"
extend-shallow@^2.0.1:
@@ -2041,6 +2053,16 @@ istanbul-lib-instrument@^4.0.0:
istanbul-lib-coverage "^3.0.0"
semver "^6.3.0"
istanbul-lib-instrument@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
dependencies:
"@babel/core" "^7.7.5"
"@istanbuljs/schema" "^0.1.2"
istanbul-lib-coverage "^3.0.0"
semver "^6.3.0"
istanbul-lib-report@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
@@ -2067,57 +2089,57 @@ istanbul-reports@^3.0.2:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
jest-changed-files@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.0.1.tgz#1334630c6a1ad75784120f39c3aa9278e59f349f"
integrity sha512-q8LP9Sint17HaE2LjxQXL+oYWW/WeeXMPE2+Op9X3mY8IEGFVc14xRxFjUuXUbcPAlDLhtWdIEt59GdQbn76Hw==
jest-changed-files@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.1.0.tgz#de66b0f30453bca2aff98e9400f75905da495305"
integrity sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
execa "^4.0.0"
throat "^5.0.0"
jest-cli@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.0.1.tgz#3a42399a4cbc96a519b99ad069a117d955570cac"
integrity sha512-pFLfSOBcbG9iOZWaMK4Een+tTxi/Wcm34geqZEqrst9cZDkTQ1LZ2CnBrTlHWuYAiTMFr0EQeK52ScyFU8wK+w==
jest-cli@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.1.0.tgz#eb9ec8a18cf3b6aa556d9deaa9e24be12b43ad87"
integrity sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw==
dependencies:
"@jest/core" "^26.0.1"
"@jest/test-result" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/core" "^26.1.0"
"@jest/test-result" "^26.1.0"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
exit "^0.1.2"
graceful-fs "^4.2.4"
import-local "^3.0.2"
is-ci "^2.0.0"
jest-config "^26.0.1"
jest-util "^26.0.1"
jest-validate "^26.0.1"
jest-config "^26.1.0"
jest-util "^26.1.0"
jest-validate "^26.1.0"
prompts "^2.0.1"
yargs "^15.3.1"
jest-config@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.0.1.tgz#096a3d4150afadf719d1fab00e9a6fb2d6d67507"
integrity sha512-9mWKx2L1LFgOXlDsC4YSeavnblN6A4CPfXFiobq+YYLaBMymA/SczN7xYTSmLaEYHZOcB98UdoN4m5uNt6tztg==
jest-config@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.1.0.tgz#9074f7539acc185e0113ad6d22ed589c16a37a73"
integrity sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw==
dependencies:
"@babel/core" "^7.1.0"
"@jest/test-sequencer" "^26.0.1"
"@jest/types" "^26.0.1"
babel-jest "^26.0.1"
"@jest/test-sequencer" "^26.1.0"
"@jest/types" "^26.1.0"
babel-jest "^26.1.0"
chalk "^4.0.0"
deepmerge "^4.2.2"
glob "^7.1.1"
graceful-fs "^4.2.4"
jest-environment-jsdom "^26.0.1"
jest-environment-node "^26.0.1"
jest-environment-jsdom "^26.1.0"
jest-environment-node "^26.1.0"
jest-get-type "^26.0.0"
jest-jasmine2 "^26.0.1"
jest-jasmine2 "^26.1.0"
jest-regex-util "^26.0.0"
jest-resolve "^26.0.1"
jest-util "^26.0.1"
jest-validate "^26.0.1"
jest-resolve "^26.1.0"
jest-util "^26.1.0"
jest-validate "^26.1.0"
micromatch "^4.0.2"
pretty-format "^26.0.1"
pretty-format "^26.1.0"
jest-dev-server@^4.4.0:
version "4.4.0"
@@ -2132,15 +2154,15 @@ jest-dev-server@^4.4.0:
tree-kill "^1.2.2"
wait-on "^3.3.0"
jest-diff@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.0.1.tgz#c44ab3cdd5977d466de69c46929e0e57f89aa1de"
integrity sha512-odTcHyl5X+U+QsczJmOjWw5tPvww+y9Yim5xzqxVl/R1j4z71+fHW4g8qu1ugMmKdFdxw+AtQgs5mupPnzcIBQ==
jest-diff@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.1.0.tgz#00a549bdc936c9691eb4dc25d1fbd78bf456abb2"
integrity sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==
dependencies:
chalk "^4.0.0"
diff-sequences "^26.0.0"
jest-get-type "^26.0.0"
pretty-format "^26.0.1"
pretty-format "^26.1.0"
jest-docblock@^26.0.0:
version "26.0.0"
@@ -2149,39 +2171,39 @@ jest-docblock@^26.0.0:
dependencies:
detect-newline "^3.0.0"
jest-each@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.0.1.tgz#633083061619302fc90dd8f58350f9d77d67be04"
integrity sha512-OTgJlwXCAR8NIWaXFL5DBbeS4QIYPuNASkzSwMCJO+ywo9BEa6TqkaSWsfR7VdbMLdgYJqSfQcIyjJCNwl5n4Q==
jest-each@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.1.0.tgz#e35449875009a22d74d1bda183b306db20f286f7"
integrity sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
jest-get-type "^26.0.0"
jest-util "^26.0.1"
pretty-format "^26.0.1"
jest-util "^26.1.0"
pretty-format "^26.1.0"
jest-environment-jsdom@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.0.1.tgz#217690852e5bdd7c846a4e3b50c8ffd441dfd249"
integrity sha512-u88NJa3aptz2Xix2pFhihRBAatwZHWwSiRLBDBQE1cdJvDjPvv7ZGA0NQBxWwDDn7D0g1uHqxM8aGgfA9Bx49g==
jest-environment-jsdom@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz#9dc7313ffe1b59761dad1fedb76e2503e5d37c5b"
integrity sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw==
dependencies:
"@jest/environment" "^26.0.1"
"@jest/fake-timers" "^26.0.1"
"@jest/types" "^26.0.1"
jest-mock "^26.0.1"
jest-util "^26.0.1"
"@jest/environment" "^26.1.0"
"@jest/fake-timers" "^26.1.0"
"@jest/types" "^26.1.0"
jest-mock "^26.1.0"
jest-util "^26.1.0"
jsdom "^16.2.2"
jest-environment-node@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.0.1.tgz#584a9ff623124ff6eeb49e0131b5f7612b310b13"
integrity sha512-4FRBWcSn5yVo0KtNav7+5NH5Z/tEgDLp7VRQVS5tCouWORxj+nI+1tOLutM07Zb2Qi7ja+HEDoOUkjBSWZg/IQ==
jest-environment-node@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.1.0.tgz#8bb387b3eefb132eab7826f9a808e4e05618960b"
integrity sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg==
dependencies:
"@jest/environment" "^26.0.1"
"@jest/fake-timers" "^26.0.1"
"@jest/types" "^26.0.1"
jest-mock "^26.0.1"
jest-util "^26.0.1"
"@jest/environment" "^26.1.0"
"@jest/fake-timers" "^26.1.0"
"@jest/types" "^26.1.0"
jest-mock "^26.1.0"
jest-util "^26.1.0"
jest-environment-puppeteer@^4.4.0:
version "4.4.0"
@@ -2198,19 +2220,19 @@ jest-get-type@^26.0.0:
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039"
integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==
jest-haste-map@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.0.1.tgz#40dcc03c43ac94d25b8618075804d09cd5d49de7"
integrity sha512-J9kBl/EdjmDsvyv7CiyKY5+DsTvVOScenprz/fGqfLg/pm1gdjbwwQ98nW0t+OIt+f+5nAVaElvn/6wP5KO7KA==
jest-haste-map@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.1.0.tgz#ef31209be73f09b0d9445e7d213e1b53d0d1476a"
integrity sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
"@types/graceful-fs" "^4.1.2"
anymatch "^3.0.3"
fb-watchman "^2.0.0"
graceful-fs "^4.2.4"
jest-serializer "^26.0.0"
jest-util "^26.0.1"
jest-worker "^26.0.0"
jest-serializer "^26.1.0"
jest-util "^26.1.0"
jest-worker "^26.1.0"
micromatch "^4.0.2"
sane "^4.0.3"
walker "^1.0.7"
@@ -2232,54 +2254,54 @@ jest-image-snapshot@^4.0.0:
pngjs "^3.4.0"
rimraf "^2.6.2"
jest-jasmine2@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.0.1.tgz#947c40ee816636ba23112af3206d6fa7b23c1c1c"
integrity sha512-ILaRyiWxiXOJ+RWTKupzQWwnPaeXPIoLS5uW41h18varJzd9/7I0QJGqg69fhTT1ev9JpSSo9QtalriUN0oqOg==
jest-jasmine2@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz#4dfe349b2b2d3c6b3a27c024fd4cb57ac0ed4b6f"
integrity sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ==
dependencies:
"@babel/traverse" "^7.1.0"
"@jest/environment" "^26.0.1"
"@jest/source-map" "^26.0.0"
"@jest/test-result" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/environment" "^26.1.0"
"@jest/source-map" "^26.1.0"
"@jest/test-result" "^26.1.0"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
co "^4.6.0"
expect "^26.0.1"
expect "^26.1.0"
is-generator-fn "^2.0.0"
jest-each "^26.0.1"
jest-matcher-utils "^26.0.1"
jest-message-util "^26.0.1"
jest-runtime "^26.0.1"
jest-snapshot "^26.0.1"
jest-util "^26.0.1"
pretty-format "^26.0.1"
jest-each "^26.1.0"
jest-matcher-utils "^26.1.0"
jest-message-util "^26.1.0"
jest-runtime "^26.1.0"
jest-snapshot "^26.1.0"
jest-util "^26.1.0"
pretty-format "^26.1.0"
throat "^5.0.0"
jest-leak-detector@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.0.1.tgz#79b19ab3f41170e0a78eb8fa754a116d3447fb8c"
integrity sha512-93FR8tJhaYIWrWsbmVN1pQ9ZNlbgRpfvrnw5LmgLRX0ckOJ8ut/I35CL7awi2ecq6Ca4lL59bEK9hr7nqoHWPA==
jest-leak-detector@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz#039c3a07ebcd8adfa984b6ac015752c35792e0a6"
integrity sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw==
dependencies:
jest-get-type "^26.0.0"
pretty-format "^26.0.1"
pretty-format "^26.1.0"
jest-matcher-utils@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.0.1.tgz#12e1fc386fe4f14678f4cc8dbd5ba75a58092911"
integrity sha512-PUMlsLth0Azen8Q2WFTwnSkGh2JZ8FYuwijC8NR47vXKpsrKmA1wWvgcj1CquuVfcYiDEdj985u5Wmg7COEARw==
jest-matcher-utils@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz#cf75a41bd413dda784f022de5a65a2a5c73a5c92"
integrity sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA==
dependencies:
chalk "^4.0.0"
jest-diff "^26.0.1"
jest-diff "^26.1.0"
jest-get-type "^26.0.0"
pretty-format "^26.0.1"
pretty-format "^26.1.0"
jest-message-util@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.0.1.tgz#07af1b42fc450b4cc8e90e4c9cef11b33ce9b0ac"
integrity sha512-CbK8uQREZ8umUfo8+zgIfEt+W7HAHjQCoRaNs4WxKGhAYBGwEyvxuK81FXa7VeB9pwDEXeeKOB2qcsNVCAvB7Q==
jest-message-util@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.1.0.tgz#52573fbb8f5cea443c4d1747804d7a238a3e233c"
integrity sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g==
dependencies:
"@babel/code-frame" "^7.0.0"
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
"@types/stack-utils" "^1.0.1"
chalk "^4.0.0"
graceful-fs "^4.2.4"
@@ -2287,12 +2309,12 @@ jest-message-util@^26.0.1:
slash "^3.0.0"
stack-utils "^2.0.2"
jest-mock@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.0.1.tgz#7fd1517ed4955397cf1620a771dc2d61fad8fd40"
integrity sha512-MpYTBqycuPYSY6xKJognV7Ja46/TeRbAZept987Zp+tuJvMN0YBWyyhG9mXyYQaU3SBI0TUlSaO5L3p49agw7Q==
jest-mock@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.1.0.tgz#80d8286da1f05a345fbad1bfd6fa49a899465d3d"
integrity sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
jest-pnp-resolver@^1.2.1:
version "1.2.1"
@@ -2312,165 +2334,165 @@ jest-regex-util@^26.0.0:
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28"
integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==
jest-resolve-dependencies@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.0.1.tgz#607ba7ccc32151d185a477cff45bf33bce417f0b"
integrity sha512-9d5/RS/ft0vB/qy7jct/qAhzJsr6fRQJyGAFigK3XD4hf9kIbEH5gks4t4Z7kyMRhowU6HWm/o8ILqhaHdSqLw==
jest-resolve-dependencies@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz#1ce36472f864a5dadf7dc82fa158e1c77955691b"
integrity sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
jest-regex-util "^26.0.0"
jest-snapshot "^26.0.1"
jest-snapshot "^26.1.0"
jest-resolve@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.0.1.tgz#21d1ee06f9ea270a343a8893051aeed940cde736"
integrity sha512-6jWxk0IKZkPIVTvq6s72RH735P8f9eCJW3IM5CX/SJFeKq1p2cZx0U49wf/SdMlhaB/anann5J2nCJj6HrbezQ==
jest-resolve@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.1.0.tgz#a530eaa302b1f6fa0479079d1561dd69abc00e68"
integrity sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
graceful-fs "^4.2.4"
jest-pnp-resolver "^1.2.1"
jest-util "^26.0.1"
jest-util "^26.1.0"
read-pkg-up "^7.0.1"
resolve "^1.17.0"
slash "^3.0.0"
jest-runner@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.0.1.tgz#ea03584b7ae4bacfb7e533d680a575a49ae35d50"
integrity sha512-CApm0g81b49Znm4cZekYQK67zY7kkB4umOlI2Dx5CwKAzdgw75EN+ozBHRvxBzwo1ZLYZ07TFxkaPm+1t4d8jA==
jest-runner@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.1.0.tgz#457f7fc522afe46ca6db1dccf19f87f500b3288d"
integrity sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw==
dependencies:
"@jest/console" "^26.0.1"
"@jest/environment" "^26.0.1"
"@jest/test-result" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/console" "^26.1.0"
"@jest/environment" "^26.1.0"
"@jest/test-result" "^26.1.0"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
exit "^0.1.2"
graceful-fs "^4.2.4"
jest-config "^26.0.1"
jest-config "^26.1.0"
jest-docblock "^26.0.0"
jest-haste-map "^26.0.1"
jest-jasmine2 "^26.0.1"
jest-leak-detector "^26.0.1"
jest-message-util "^26.0.1"
jest-resolve "^26.0.1"
jest-runtime "^26.0.1"
jest-util "^26.0.1"
jest-worker "^26.0.0"
jest-haste-map "^26.1.0"
jest-jasmine2 "^26.1.0"
jest-leak-detector "^26.1.0"
jest-message-util "^26.1.0"
jest-resolve "^26.1.0"
jest-runtime "^26.1.0"
jest-util "^26.1.0"
jest-worker "^26.1.0"
source-map-support "^0.5.6"
throat "^5.0.0"
jest-runtime@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.0.1.tgz#a121a6321235987d294168e282d52b364d7d3f89"
integrity sha512-Ci2QhYFmANg5qaXWf78T2Pfo6GtmIBn2rRaLnklRyEucmPccmCKvS9JPljcmtVamsdMmkyNkVFb9pBTD6si9Lw==
jest-runtime@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.1.0.tgz#45a37af42115f123ed5c51f126c05502da2469cb"
integrity sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA==
dependencies:
"@jest/console" "^26.0.1"
"@jest/environment" "^26.0.1"
"@jest/fake-timers" "^26.0.1"
"@jest/globals" "^26.0.1"
"@jest/source-map" "^26.0.0"
"@jest/test-result" "^26.0.1"
"@jest/transform" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/console" "^26.1.0"
"@jest/environment" "^26.1.0"
"@jest/fake-timers" "^26.1.0"
"@jest/globals" "^26.1.0"
"@jest/source-map" "^26.1.0"
"@jest/test-result" "^26.1.0"
"@jest/transform" "^26.1.0"
"@jest/types" "^26.1.0"
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
collect-v8-coverage "^1.0.0"
exit "^0.1.2"
glob "^7.1.3"
graceful-fs "^4.2.4"
jest-config "^26.0.1"
jest-haste-map "^26.0.1"
jest-message-util "^26.0.1"
jest-mock "^26.0.1"
jest-config "^26.1.0"
jest-haste-map "^26.1.0"
jest-message-util "^26.1.0"
jest-mock "^26.1.0"
jest-regex-util "^26.0.0"
jest-resolve "^26.0.1"
jest-snapshot "^26.0.1"
jest-util "^26.0.1"
jest-validate "^26.0.1"
jest-resolve "^26.1.0"
jest-snapshot "^26.1.0"
jest-util "^26.1.0"
jest-validate "^26.1.0"
slash "^3.0.0"
strip-bom "^4.0.0"
yargs "^15.3.1"
jest-serializer@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.0.0.tgz#f6c521ddb976943b93e662c0d4d79245abec72a3"
integrity sha512-sQGXLdEGWFAE4wIJ2ZaIDb+ikETlUirEOBsLXdoBbeLhTHkZUJwgk3+M8eyFizhM6le43PDCCKPA1hzkSDo4cQ==
jest-serializer@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.1.0.tgz#72a394531fc9b08e173dc7d297440ac610d95022"
integrity sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w==
dependencies:
graceful-fs "^4.2.4"
jest-snapshot@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.0.1.tgz#1baa942bd83d47b837a84af7fcf5fd4a236da399"
integrity sha512-jxd+cF7+LL+a80qh6TAnTLUZHyQoWwEHSUFJjkw35u3Gx+BZUNuXhYvDqHXr62UQPnWo2P6fvQlLjsU93UKyxA==
jest-snapshot@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.1.0.tgz#c36ed1e0334bd7bd2fe5ad07e93a364ead7e1349"
integrity sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw==
dependencies:
"@babel/types" "^7.0.0"
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
"@types/prettier" "^2.0.0"
chalk "^4.0.0"
expect "^26.0.1"
expect "^26.1.0"
graceful-fs "^4.2.4"
jest-diff "^26.0.1"
jest-diff "^26.1.0"
jest-get-type "^26.0.0"
jest-matcher-utils "^26.0.1"
jest-message-util "^26.0.1"
jest-resolve "^26.0.1"
make-dir "^3.0.0"
jest-haste-map "^26.1.0"
jest-matcher-utils "^26.1.0"
jest-message-util "^26.1.0"
jest-resolve "^26.1.0"
natural-compare "^1.4.0"
pretty-format "^26.0.1"
pretty-format "^26.1.0"
semver "^7.3.2"
jest-util@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.0.1.tgz#72c4c51177b695fdd795ca072a6f94e3d7cef00a"
integrity sha512-byQ3n7ad1BO/WyFkYvlWQHTsomB6GIewBh8tlGtusiylAlaxQ1UpS0XYH0ngOyhZuHVLN79Qvl6/pMiDMSSG1g==
jest-util@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.1.0.tgz#80e85d4ba820decacf41a691c2042d5276e5d8d8"
integrity sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
chalk "^4.0.0"
graceful-fs "^4.2.4"
is-ci "^2.0.0"
make-dir "^3.0.0"
micromatch "^4.0.2"
jest-validate@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.0.1.tgz#a62987e1da5b7f724130f904725e22f4e5b2e23c"
integrity sha512-u0xRc+rbmov/VqXnX3DlkxD74rHI/CfS5xaV2VpeaVySjbb1JioNVOyly5b56q2l9ZKe7bVG5qWmjfctkQb0bA==
jest-validate@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.1.0.tgz#942c85ad3d60f78250c488a7f85d8f11a29788e7"
integrity sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
camelcase "^6.0.0"
chalk "^4.0.0"
jest-get-type "^26.0.0"
leven "^3.1.0"
pretty-format "^26.0.1"
pretty-format "^26.1.0"
jest-watcher@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.0.1.tgz#5b5e3ebbdf10c240e22a98af66d645631afda770"
integrity sha512-pdZPydsS8475f89kGswaNsN3rhP6lnC3/QDCppP7bg1L9JQz7oU9Mb/5xPETk1RHDCWeqmVC47M4K5RR7ejxFw==
jest-watcher@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.1.0.tgz#99812a0cd931f0cb3d153180426135ab83e4d8f2"
integrity sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ==
dependencies:
"@jest/test-result" "^26.0.1"
"@jest/types" "^26.0.1"
"@jest/test-result" "^26.1.0"
"@jest/types" "^26.1.0"
ansi-escapes "^4.2.1"
chalk "^4.0.0"
jest-util "^26.0.1"
jest-util "^26.1.0"
string-length "^4.0.1"
jest-worker@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.0.0.tgz#4920c7714f0a96c6412464718d0c58a3df3fb066"
integrity sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==
jest-worker@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.1.0.tgz#65d5641af74e08ccd561c240e7db61284f82f33d"
integrity sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==
dependencies:
merge-stream "^2.0.0"
supports-color "^7.0.0"
jest@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/jest/-/jest-26.0.1.tgz#5c51a2e58dff7525b65f169721767173bf832694"
integrity sha512-29Q54kn5Bm7ZGKIuH2JRmnKl85YRigp0o0asTc6Sb6l2ch1DCXIeZTLLFy9ultJvhkTqbswF5DEx4+RlkmCxWg==
version "26.1.0"
resolved "https://registry.yarnpkg.com/jest/-/jest-26.1.0.tgz#2f3aa7bcffb9bfd025473f83bbbf46a3af026263"
integrity sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw==
dependencies:
"@jest/core" "^26.0.1"
"@jest/core" "^26.1.0"
import-local "^3.0.2"
jest-cli "^26.0.1"
jest-cli "^26.1.0"
js-tokens@^4.0.0:
version "4.0.0"
@@ -2746,6 +2768,11 @@ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
mitt@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/mitt/-/mitt-2.0.1.tgz#9e8a075b4daae82dd91aac155a0ece40ca7cb393"
integrity sha512-FhuJY+tYHLnPcBHQhbUFzscD5512HumCPE4URXZUgPi3IvOJi4Xva5IIgy3xX56GqCmw++MAm5UURG6kDBYTdg==
mixin-deep@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
@@ -3063,12 +3090,12 @@ prelude-ls@~1.1.2:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
pretty-format@^26.0.1:
version "26.0.1"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.0.1.tgz#a4fe54fe428ad2fd3413ca6bbd1ec8c2e277e197"
integrity sha512-SWxz6MbupT3ZSlL0Po4WF/KujhQaVehijR2blyRDCzk9e45EaYMVhMBn49fnRuHxtkSpXTes1GxNpVmH86Bxfw==
pretty-format@^26.1.0:
version "26.1.0"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.1.0.tgz#272b9cd1f1a924ab5d443dc224899d7a65cb96ec"
integrity sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==
dependencies:
"@jest/types" "^26.0.1"
"@jest/types" "^26.1.0"
ansi-regex "^5.0.0"
ansi-styles "^4.0.0"
react-is "^16.12.0"
@@ -3109,15 +3136,17 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
puppeteer@^3.0.4:
version "3.3.0"
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-3.3.0.tgz#95839af9fdc0aa4de7e5ee073a4c0adeb9e2d3d7"
integrity sha512-23zNqRltZ1PPoK28uRefWJ/zKb5Jhnzbbwbpcna2o5+QMn17F0khq5s1bdH3vPlyj+J36pubccR8wiNA/VE0Vw==
puppeteer@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.0.0.tgz#7cf1b1a5c5b6ce5d7abe4d9c9f206d4c52e214ff"
integrity sha512-JnZcgRQnfowRSJoSHteKU7G9fP/YYGB/juPn8m4jNqtzvR0h8GOoFmdjTBesJFfzhYkPU1FosHXnBVUB++xgaA==
dependencies:
debug "^4.1.0"
extract-zip "^2.0.0"
https-proxy-agent "^4.0.0"
mime "^2.0.3"
mitt "^2.0.1"
pkg-dir "^4.2.0"
progress "^2.0.1"
proxy-from-env "^1.0.0"
rimraf "^3.0.2"

View File

@@ -1,18 +1,20 @@
{
"name": "dozzle",
"version": "1.27.0",
"version": "2.1.0",
"description": "Realtime log viewer for docker containers. ",
"scripts": {
"prestart": "yarn clean",
"start": "npm-run-all -p watch:*",
"watch": "npm-run-all -p watch:*",
"watch:assets": "webpack --mode=development --watch",
"watch:server": "reflex -c .reflex",
"dev": "npm-run-all -p dev-server watch:server",
"dev-server": "webpack-dev-server --open",
"prebuild": "yarn clean",
"build": "yarn webpack --mode=production",
"clean": "rm -rf static/ a_main-packr.go",
"release": "release-it",
"test": "TZ=UTC jest",
"integration": "docker-compose -f integration/docker-compose.test.yml up --build --force-recreate integration"
"integration": "docker-compose -f integration/docker-compose.test.yml up --build --force-recreate --exit-code-from integration"
},
"repository": {
"type": "git",
@@ -27,51 +29,53 @@
"dependencies": {
"ansi-to-html": "^0.6.14",
"buefy": "^0.8.20",
"bulma": "^0.8.2",
"bulma": "^0.9.0",
"date-fns": "^2.14.0",
"dompurify": "^2.0.11",
"dompurify": "^2.0.12",
"hotkeys-js": "^3.8.1",
"lodash.debounce": "^4.0.8",
"lodash.throttle": "^4.1.1",
"semver": "^7.3.2",
"splitpanes": "^2.2.1",
"store": "^2.0.12",
"vue": "^2.6.11",
"vue-meta": "^2.3.4",
"vue-router": "^3.3.2",
"vuex": "^3.4.0"
"vue-meta": "^2.4.0",
"vue-router": "^3.3.4",
"vuex": "^3.5.1"
},
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/plugin-transform-runtime": "^7.10.1",
"@babel/core": "^7.10.4",
"@babel/plugin-transform-runtime": "^7.10.4",
"@vue/component-compiler-utils": "^3.1.2",
"@vue/test-utils": "^1.0.3",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^26.0.1",
"babel-jest": "^26.1.0",
"babel-preset-env": "^1.7.0",
"caniuse-lite": "^1.0.30001066",
"css-loader": "^3.5.3",
"caniuse-lite": "^1.0.30001097",
"css-loader": "^3.6.0",
"eventsourcemock": "^2.0.0",
"html-webpack-plugin": "^4.3.0",
"husky": "^4.2.5",
"jest": "^26.0.1",
"jest": "^26.1.0",
"jest-serializer-vue": "^2.0.2",
"lint-staged": "^10.2.7",
"lint-staged": "^10.2.11",
"mini-css-extract-plugin": "^0.9.0",
"npm-run-all": "^4.1.5",
"postcss-cssnext": "^3.1.0",
"postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0",
"prettier": "^2.0.5",
"release-it": "^13.6.2",
"sass": "^1.26.7",
"sass-loader": "^8.0.2",
"release-it": "^13.6.5",
"sass": "^1.26.10",
"sass-loader": "^9.0.2",
"vue-hot-reload-api": "^2.3.4",
"vue-jest": "^3.0.5",
"vue-loader": "^15.9.2",
"vue-jest": "^3.0.6",
"vue-loader": "^15.9.3",
"vue-style-loader": "^4.1.2",
"vue-template-compiler": "^2.6.11",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0",
"webpack-pwa-manifest": "^4.2.0"
},
"husky": {

View File

@@ -10,12 +10,12 @@ module.exports = (env, argv) => ({
maxAssetSize: 350000,
maxEntrypointSize: 600000,
},
devtool: argv.mode === "development" ? "inline-cheap-source-map" : false,
devtool: argv.mode !== "production" ? "inline-cheap-source-map" : false,
entry: ["./assets/main.js", "./assets/styles.scss"],
output: {
path: path.resolve(__dirname, "./static"),
filename: "[name].js",
publicPath: "{{ .Base }}",
publicPath: process.env.WEBPACK_DEV_SERVER ? "/" : "{{ .Base }}",
},
module: {
rules: [
@@ -26,19 +26,18 @@ module.exports = (env, argv) => ({
{
test: /\.(sass|scss|css)$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: "css-loader",
query: {
importLoaders: 1,
loader: MiniCssExtractPlugin.loader,
options: {
hmr: argv.mode !== "production",
},
},
"css-loader",
{
loader: "postcss-loader",
options: {
ident: "postcss",
plugins: (loader) => [
require("postcss-import")(),
require("postcss-cssnext")({
features: {
customProperties: { warnings: false },
@@ -75,4 +74,15 @@ module.exports = (env, argv) => ({
},
extensions: ["*", ".js", ".vue", ".json"],
},
devServer: {
port: 8081,
inline: true,
hot: true,
historyApiFallback: true,
proxy: {
"/api": {
target: "http://localhost:8080",
},
},
},
});

2487
yarn.lock

File diff suppressed because it is too large Load Diff