generator-jhipster 7.2.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/cli/environment-builder.js +1 -0
  2. package/cli/import-jdl.js +2 -2
  3. package/cli/jdl.js +1 -0
  4. package/generators/bootstrap/index.js +2 -1
  5. package/generators/client/__workflow/devserver-angular.json +1 -1
  6. package/generators/client/__workflow/devserver-react.json +1 -1
  7. package/generators/client/__workflow/devserver-vue.json +1 -1
  8. package/generators/client/files-vue.js +2 -0
  9. package/generators/client/index.js +69 -0
  10. package/generators/client/templates/angular/package.json +12 -12
  11. package/generators/client/templates/angular/package.json.ejs +2 -1
  12. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +50 -52
  13. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +19 -21
  14. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +62 -64
  15. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +41 -43
  16. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +3 -0
  17. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +178 -180
  18. package/generators/client/templates/angular/src/main/webapp/app/core/config/application-config.service.ts.ejs +9 -0
  19. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +87 -89
  20. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +2 -3
  21. package/generators/client/templates/common/README.md.jhi.client.ejs +34 -0
  22. package/generators/client/templates/common/package.json +3 -3
  23. package/generators/client/templates/react/package.json +29 -29
  24. package/generators/client/templates/react/package.json.ejs +1 -1
  25. package/generators/client/templates/vue/package.json +22 -22
  26. package/generators/client/templates/vue/package.json.ejs +1 -1
  27. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +2 -2
  28. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
  29. package/generators/client/templates/vue/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -4
  30. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +9 -0
  31. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +5 -0
  32. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +5 -0
  33. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +4 -2
  34. package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +4 -4
  35. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +61 -0
  36. package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +2 -2
  37. package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +1 -1
  38. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.component.spec.ts.ejs +12 -12
  39. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.service.spec.ts.ejs +2 -1
  40. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +3 -1
  41. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-view.component.spec.ts.ejs +2 -1
  42. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +3 -1
  43. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +124 -0
  44. package/generators/common/templates/.husky/pre-commit +1 -1
  45. package/generators/common/templates/package.json +3 -3
  46. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +13 -12
  47. package/generators/entity/index.js +13 -0
  48. package/generators/entity-client/index.js +53 -0
  49. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -1
  50. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +52 -54
  51. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +173 -175
  52. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +2 -4
  53. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +7 -0
  54. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +5 -2
  55. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-details.component.ts.ejs +5 -0
  56. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +14 -2
  57. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +7 -0
  58. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-details.component.spec.ts.ejs +2 -1
  59. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +2 -0
  60. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +3 -1
  61. package/generators/entity-server/files-couchbase.js +2 -2
  62. package/generators/entity-server/files.js +31 -30
  63. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
  64. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +1 -1
  65. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +2 -2
  66. package/generators/entity-server/templates/src/main/java/package/domain/enumeration/Enum.java.ejs +1 -1
  67. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
  68. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +7 -7
  69. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +2 -2
  70. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +4 -4
  71. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +2 -2
  72. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +8 -8
  73. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +4 -4
  74. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +4 -4
  75. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +3 -3
  76. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +8 -8
  77. package/generators/entity-server/templates/src/main/java/package/service/mapper/BaseEntityMapper.java.ejs +1 -1
  78. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +3 -3
  79. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +12 -12
  80. package/generators/entity-server/templates/src/test/java/package/domain/EntityTest.java.ejs +1 -1
  81. package/generators/entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs +1 -1
  82. package/generators/entity-server/templates/src/test/java/package/service/dto/EntityDTOTest.java.ejs +1 -1
  83. package/generators/entity-server/templates/src/test/java/package/service/mapper/EntityMapperTest.java.ejs +1 -1
  84. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +18 -15
  85. package/generators/generator-base.js +10 -3
  86. package/generators/generator-constants.js +6 -5
  87. package/generators/heroku/index.js +13 -15
  88. package/generators/init/templates/.husky/pre-commit +1 -1
  89. package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +22 -0
  90. package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +2 -2
  91. package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +17 -0
  92. package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +3 -3
  93. package/generators/languages/templates/src/main/webapp/i18n/hr/reset.json.ejs +1 -2
  94. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  95. package/generators/server/index.js +38 -13
  96. package/generators/server/needle-api/needle-server-cache.js +4 -6
  97. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  98. package/generators/server/templates/build.gradle.ejs +1 -1
  99. package/generators/server/templates/gradle.properties.ejs +1 -1
  100. package/generators/server/templates/pom.xml.ejs +4 -3
  101. package/generators/server/templates/settings.gradle.ejs +9 -0
  102. package/generators/server/templates/src/main/docker/app.yml.ejs +1 -0
  103. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +13 -12
  104. package/generators/server/templates/src/main/java/package/aop/logging/LoggingAspect.java.ejs +1 -1
  105. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_cassandra.java.ejs +0 -6
  106. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_sql.java.ejs +2 -2
  107. package/generators/server/templates/src/main/java/package/config/JacksonConfiguration.java.ejs +1 -1
  108. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +0 -2
  109. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +2 -5
  110. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +9 -1
  111. package/generators/server/templates/src/main/java/package/security/PersistentTokenRememberMeServices.java.ejs +0 -2
  112. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  113. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +1 -1
  114. package/generators/server/templates/src/main/resources/config/application.yml.ejs +2 -2
  115. package/package.json +12 -12
  116. package/utils/field.js +1 -1
@@ -29,105 +29,103 @@ import { User, IUser } from './user.model';
29
29
 
30
30
  import { UserService } from './user.service';
31
31
 
32
- describe('Service Tests', () => {
33
- describe('User Service', () => {
34
- let service: UserService;
35
- let httpMock: HttpTestingController;
36
- let expectedResult: IUser | IUser[] | boolean | number | null;
37
-
38
- beforeEach(() => {
39
- TestBed.configureTestingModule({
40
- imports: [HttpClientTestingModule],
32
+ describe('User Service', () => {
33
+ let service: UserService;
34
+ let httpMock: HttpTestingController;
35
+ let expectedResult: IUser | IUser[] | boolean | number | null;
36
+
37
+ beforeEach(() => {
38
+ TestBed.configureTestingModule({
39
+ imports: [HttpClientTestingModule],
40
+ });
41
+ expectedResult = null;
42
+ service = TestBed.inject(UserService);
43
+ httpMock = TestBed.inject(HttpTestingController);
44
+ });
45
+
46
+ afterEach(() => {
47
+ httpMock.verify();
48
+ });
49
+
50
+ describe('Service methods', () => {
51
+ it('should return Users', () => {
52
+ service.query().subscribe(received => {
53
+ expectedResult = received.body;
41
54
  });
42
- expectedResult = null;
43
- service = TestBed.inject(UserService);
44
- httpMock = TestBed.inject(HttpTestingController);
55
+
56
+ const req = httpMock.expectOne({ method: 'GET' });
57
+ req.flush([new User(<%- tsKeyId %>, 'user')]);
58
+ expect(expectedResult).toEqual([{ id: <%- tsKeyId %>, login: 'user' }]);
45
59
  });
46
60
 
47
- afterEach(() => {
48
- httpMock.verify();
61
+ it('should propagate not found response', () => {
62
+ service.query().subscribe({
63
+ error: (error: HttpErrorResponse) => expectedResult = error.status
64
+ });
65
+
66
+ const req = httpMock.expectOne({ method: 'GET' });
67
+ req.flush('Internal Server Error', {
68
+ status: 500,
69
+ statusText: 'Inernal Server Error',
70
+ });
71
+ expect(expectedResult).toEqual(500);
49
72
  });
50
73
 
51
- describe('Service methods', () => {
52
- it('should return Users', () => {
53
- service.query().subscribe(received => {
54
- expectedResult = received.body;
55
- });
74
+ describe('addUserToCollectionIfMissing', () => {
75
+ it('should add a User to an empty array', () => {
76
+ const user: IUser = <%- testEntityPrimaryKey0 %>;
77
+ expectedResult = service.addUserToCollectionIfMissing([], user);
78
+ expect(expectedResult).toHaveLength(1);
79
+ expect(expectedResult).toContain(user);
80
+ });
81
+
82
+ it('should not add a User to an array that contains it', () => {
83
+ const user: IUser = <%- testEntityPrimaryKey0 %>;
84
+ const userCollection: IUser[] = [
85
+ {
86
+ ...user,
87
+ },
88
+ <%- testEntityPrimaryKey1 %>,
89
+ ];
90
+ expectedResult = service.addUserToCollectionIfMissing(userCollection, user);
91
+ expect(expectedResult).toHaveLength(2);
92
+ });
93
+
94
+ it("should add a User to an array that doesn't contain it", () => {
95
+ const user: IUser = <%- testEntityPrimaryKey0 %>;
96
+ const userCollection: IUser[] = [<%- testEntityPrimaryKey1 %>];
97
+ expectedResult = service.addUserToCollectionIfMissing(userCollection, user);
98
+ expect(expectedResult).toHaveLength(2);
99
+ expect(expectedResult).toContain(user);
100
+ });
101
+
102
+ it('should add only unique User to an array', () => {
103
+ const userArray: IUser[] = [<%- testEntityPrimaryKey0 %>, <%- testEntityPrimaryKey1 %>, <%- generateTestEntityPrimaryKey(user.primaryKey) %>];
104
+ const userCollection: IUser[] = [<%- testEntityPrimaryKey1 %>];
105
+ expectedResult = service.addUserToCollectionIfMissing(userCollection, ...userArray);
106
+ expect(expectedResult).toHaveLength(3);
107
+ });
56
108
 
57
- const req = httpMock.expectOne({ method: 'GET' });
58
- req.flush([new User(<%- tsKeyId %>, 'user')]);
59
- expect(expectedResult).toEqual([{ id: <%- tsKeyId %>, login: 'user' }]);
109
+ it("should accept varargs", () => {
110
+ const user: IUser = <%- testEntityPrimaryKey0 %>;
111
+ const user2: IUser = <%- testEntityPrimaryKey1 %>;
112
+ expectedResult = service.addUserToCollectionIfMissing([], user, user2);
113
+ expect(expectedResult).toHaveLength(2);
114
+ expect(expectedResult).toContain(user);
115
+ expect(expectedResult).toContain(user2);
60
116
  });
61
117
 
62
- it('should propagate not found response', () => {
63
- service.query().subscribe({
64
- error: (error: HttpErrorResponse) => expectedResult = error.status
65
- });
66
-
67
- const req = httpMock.expectOne({ method: 'GET' });
68
- req.flush('Internal Server Error', {
69
- status: 500,
70
- statusText: 'Inernal Server Error',
71
- });
72
- expect(expectedResult).toEqual(500);
118
+ it("should accept null and undefined values", () => {
119
+ const user: IUser = <%- testEntityPrimaryKey0 %>;
120
+ expectedResult = service.addUserToCollectionIfMissing([], null, user, undefined);
121
+ expect(expectedResult).toHaveLength(1);
122
+ expect(expectedResult).toContain(user);
73
123
  });
74
124
 
75
- describe('addUserToCollectionIfMissing', () => {
76
- it('should add a User to an empty array', () => {
77
- const user: IUser = <%- testEntityPrimaryKey0 %>;
78
- expectedResult = service.addUserToCollectionIfMissing([], user);
79
- expect(expectedResult).toHaveLength(1);
80
- expect(expectedResult).toContain(user);
81
- });
82
-
83
- it('should not add a User to an array that contains it', () => {
84
- const user: IUser = <%- testEntityPrimaryKey0 %>;
85
- const userCollection: IUser[] = [
86
- {
87
- ...user,
88
- },
89
- <%- testEntityPrimaryKey1 %>,
90
- ];
91
- expectedResult = service.addUserToCollectionIfMissing(userCollection, user);
92
- expect(expectedResult).toHaveLength(2);
93
- });
94
-
95
- it("should add a User to an array that doesn't contain it", () => {
96
- const user: IUser = <%- testEntityPrimaryKey0 %>;
97
- const userCollection: IUser[] = [<%- testEntityPrimaryKey1 %>];
98
- expectedResult = service.addUserToCollectionIfMissing(userCollection, user);
99
- expect(expectedResult).toHaveLength(2);
100
- expect(expectedResult).toContain(user);
101
- });
102
-
103
- it('should add only unique User to an array', () => {
104
- const userArray: IUser[] = [<%- testEntityPrimaryKey0 %>, <%- testEntityPrimaryKey1 %>, <%- generateTestEntityPrimaryKey(user.primaryKey) %>];
105
- const userCollection: IUser[] = [<%- testEntityPrimaryKey1 %>];
106
- expectedResult = service.addUserToCollectionIfMissing(userCollection, ...userArray);
107
- expect(expectedResult).toHaveLength(3);
108
- });
109
-
110
- it("should accept varargs", () => {
111
- const user: IUser = <%- testEntityPrimaryKey0 %>;
112
- const user2: IUser = <%- testEntityPrimaryKey1 %>;
113
- expectedResult = service.addUserToCollectionIfMissing([], user, user2);
114
- expect(expectedResult).toHaveLength(2);
115
- expect(expectedResult).toContain(user);
116
- expect(expectedResult).toContain(user2);
117
- });
118
-
119
- it("should accept null and undefined values", () => {
120
- const user: IUser = <%- testEntityPrimaryKey0 %>;
121
- expectedResult = service.addUserToCollectionIfMissing([], null, user, undefined);
122
- expect(expectedResult).toHaveLength(1);
123
- expect(expectedResult).toContain(user);
124
- });
125
-
126
- it('should return initial array if no users is added', () => {
127
- const userCollection: IUser[] = [<%- testEntityPrimaryKey1 %>];
128
- expectedResult = service.addUserToCollectionIfMissing(userCollection, null, undefined);
129
- expect(expectedResult).toEqual(userCollection);
130
- });
125
+ it('should return initial array if no users is added', () => {
126
+ const userCollection: IUser[] = [<%- testEntityPrimaryKey1 %>];
127
+ expectedResult = service.addUserToCollectionIfMissing(userCollection, null, undefined);
128
+ expect(expectedResult).toEqual(userCollection);
131
129
  });
132
130
  });
133
131
  });
@@ -76,7 +76,7 @@ module.exports = async (config, options, targetOptions) => {
76
76
  if (config.devServer) {
77
77
  config.devServer.proxy = proxyConfig({ tls });
78
78
  }
79
- <%_ if (!this.applicationTypeMicroservice) { _%>
79
+
80
80
  if (targetOptions.target === 'serve' || config.watch) {
81
81
  config.plugins.push(
82
82
  new BrowserSyncPlugin(
@@ -85,7 +85,7 @@ module.exports = async (config, options, targetOptions) => {
85
85
  port: 9000,
86
86
  https: tls,
87
87
  proxy: {
88
- target: `http${tls ? 's' : ''}://localhost:${targetOptions.target === 'serve' ? '<%= devServerPort %>' : '<%= serverPort %>'}`,
88
+ target: `http${tls ? 's' : ''}://localhost:${targetOptions.target === 'serve' ? '<%= devServerPort %>' : '<%= this.applicationTypeMicroservice ? gatewayServerPort : serverPort %>'}`,
89
89
  <%_ if (websocket === 'spring-websocket') { _%>
90
90
  ws: true,
91
91
  <%_ } _%>
@@ -113,7 +113,6 @@ module.exports = async (config, options, targetOptions) => {
113
113
  )
114
114
  );
115
115
  }
116
- <%_ } _%>
117
116
 
118
117
  if (config.mode === 'production') {
119
118
  config.plugins.push(
@@ -149,6 +149,40 @@ Note: There are still a few other things remaining to do for Leaflet that we won
149
149
 
150
150
  For further instructions on how to develop with JHipster, have a look at [Using JHipster in development][].
151
151
 
152
+ <%_ if (microfrontend) { -%>
153
+ ### Developing Microfrontend
154
+
155
+ Microservices doesn't contain every required backend feature to allow microfrontends to run alone.
156
+ You must start a pre-built gateway version or from source.
157
+
158
+ Start gateway from source:
159
+
160
+ ```
161
+ cd gateway
162
+ npm run docker:db:up # start database if necessary
163
+ npm run docker:others:up # start service discovery and authentication service if necessary
164
+ npm run app:start # alias for ./(mvnw|gradlew)
165
+ ```
166
+
167
+ Microfrontend's `build-watch` script is configured to watch and compile microfrontend's sources and synchronizes with gateway's frontend.
168
+ Start it using:
169
+
170
+ ```
171
+ cd microfrontend
172
+ npm run docker:db:up # start database if necessary
173
+ npm run build-watch
174
+ ```
175
+
176
+ It's possible to run microfrontend's frontend standalone using:
177
+
178
+ ```
179
+ cd microfrontend
180
+ npm run docker:db:up # start database if necessary
181
+ npm watch # alias for `npm start` and `npm run backend:start` in parallel
182
+ ```
183
+
184
+ <%_ } -%>
185
+
152
186
  <&_ } -&>
153
187
  <&_ if (fragment.testingSection) { -&>
154
188
  ### Client tests
@@ -3,10 +3,10 @@
3
3
  "@cypress/code-coverage": "3.9.11",
4
4
  "babel-loader": "8.2.2",
5
5
  "babel-plugin-istanbul": "6.0.0",
6
- "cypress": "8.3.1",
7
- "eslint-plugin-cypress": "2.11.3",
6
+ "cypress": "8.5.0",
7
+ "eslint-plugin-cypress": "2.12.1",
8
8
  "cypress-audit": "1.0.0",
9
- "lighthouse": "8.4.0",
9
+ "lighthouse": "8.5.1",
10
10
  "nyc": "15.1.0"
11
11
  },
12
12
  "dependencies": {
@@ -3,21 +3,21 @@
3
3
  "@fortawesome/fontawesome-svg-core": "1.2.36",
4
4
  "@fortawesome/free-solid-svg-icons": "5.15.4",
5
5
  "@fortawesome/react-fontawesome": "0.1.15",
6
- "@reduxjs/toolkit": "1.6.1",
6
+ "@reduxjs/toolkit": "1.6.2",
7
7
  "axios": "0.21.4",
8
8
  "bootstrap": "4.6.0",
9
- "bootswatch": "5.1.1",
9
+ "bootswatch": "5.1.2",
10
10
  "lodash": "4.17.21",
11
11
  "path-browserify": "1.0.1",
12
12
  "react": "17.0.1",
13
13
  "react-dom": "17.0.1",
14
- "react-hook-form": "7.15.3",
15
- "react-jhipster": "0.16.2",
14
+ "react-hook-form": "7.17.1",
15
+ "react-jhipster": "0.17.0",
16
16
  "react-loadable": "5.5.0",
17
17
  "react-redux": "7.2.5",
18
18
  "react-redux-loading-bar": "5.0.2",
19
19
  "react-router-dom": "5.3.0",
20
- "react-toastify": "8.0.2",
20
+ "react-toastify": "8.0.3",
21
21
  "react-transition-group": "4.4.2",
22
22
  "reactstrap": "8.10.0",
23
23
  "redux": "4.1.1",
@@ -27,62 +27,62 @@
27
27
  "uuid": "8.3.2"
28
28
  },
29
29
  "devDependencies": {
30
- "@testing-library/react": "12.1.0",
31
- "@types/jest": "27.0.1",
32
- "@types/lodash": "4.14.172",
33
- "@types/node": "16.9.1",
34
- "@types/react": "17.0.20",
30
+ "@testing-library/react": "12.1.2",
31
+ "@types/jest": "27.0.2",
32
+ "@types/lodash": "4.14.175",
33
+ "@types/node": "16.10.3",
34
+ "@types/react": "17.0.27",
35
35
  "@types/react-dom": "17.0.9",
36
36
  "@types/react-redux": "7.1.18",
37
- "@types/react-router-dom": "5.1.8",
37
+ "@types/react-router-dom": "5.3.0",
38
38
  "@types/redux": "3.6.31",
39
39
  "@types/webpack-env": "1.16.2",
40
- "@typescript-eslint/eslint-plugin": "4.31.1",
41
- "@typescript-eslint/parser": "4.31.1",
42
- "autoprefixer": "10.3.4",
40
+ "@typescript-eslint/eslint-plugin": "4.33.0",
41
+ "@typescript-eslint/parser": "4.33.0",
42
+ "autoprefixer": "10.3.7",
43
43
  "browser-sync": "2.27.5",
44
44
  "browser-sync-webpack-plugin": "2.3.0",
45
45
  "copy-webpack-plugin": "9.0.1",
46
- "core-js": "3.17.3",
46
+ "core-js": "3.18.2",
47
47
  "cross-env": "7.0.3",
48
- "css-loader": "6.2.0",
49
- "css-minimizer-webpack-plugin": "3.0.2",
48
+ "css-loader": "6.3.0",
49
+ "css-minimizer-webpack-plugin": "3.1.1",
50
50
  "eslint": "7.32.0",
51
51
  "eslint-config-prettier": "8.3.0",
52
- "eslint-plugin-react": "7.25.1",
52
+ "eslint-plugin-react": "7.26.1",
53
53
  "eslint-webpack-plugin": "3.0.1",
54
54
  "folder-hash": "4.0.1",
55
55
  "fork-ts-checker-webpack-plugin": "6.3.3",
56
56
  "html-webpack-plugin": "5.3.2",
57
57
  "identity-obj-proxy": "3.0.0",
58
- "jest": "27.2.0",
59
- "jest-junit": "12.2.0",
58
+ "jest": "27.2.4",
59
+ "jest-junit": "13.0.0",
60
60
  "jest-sonar-reporter": "2.0.0",
61
61
  "json-loader": "0.5.7",
62
62
  "merge-jsons-webpack-plugin": "1.0.21",
63
- "mini-css-extract-plugin": "2.3.0",
63
+ "mini-css-extract-plugin": "2.4.1",
64
64
  "postcss-loader": "6.1.1",
65
65
  "react-infinite-scroller": "1.2.4",
66
66
  "redux-mock-store": "1.5.4",
67
67
  "rimraf": "3.0.2",
68
- "sass": "1.39.2",
68
+ "sass": "1.42.1",
69
69
  "sass-loader": "12.1.0",
70
70
  "simple-progress-webpack-plugin": "2.0.0",
71
71
  "sinon": "11.1.2",
72
72
  "source-map-loader": "3.0.0",
73
73
  "sourcemap-istanbul-instrumenter-loader": "0.2.0",
74
- "style-loader": "3.2.1",
75
- "swagger-ui-dist": "3.52.2",
74
+ "style-loader": "3.3.0",
75
+ "swagger-ui-dist": "3.52.3",
76
76
  "terser-webpack-plugin": "5.2.4",
77
77
  "thread-loader": "3.0.4",
78
78
  "ts-jest": "27.0.5",
79
- "ts-loader": "9.2.5",
79
+ "ts-loader": "9.2.6",
80
80
  "typescript": "4.4.3",
81
- "webpack": "5.52.1",
82
- "webpack-cli": "4.8.0",
83
- "webpack-dev-server": "4.2.1",
81
+ "webpack": "5.57.1",
82
+ "webpack-cli": "4.9.0",
83
+ "webpack-dev-server": "4.3.1",
84
84
  "webpack-merge": "5.8.0",
85
- "webpack-notifier": "1.13.0",
85
+ "webpack-notifier": "1.14.0",
86
86
  "workbox-webpack-plugin": "6.3.0"
87
87
  }
88
88
  }
@@ -19,7 +19,7 @@
19
19
  {
20
20
  "name": "<%= dasherizedBaseName %>",
21
21
  "version": "0.0.1-SNAPSHOT",
22
- "description": "Description for <%= baseName %>",
22
+ "description": "<%= projectDescription %>",
23
23
  "private": true,
24
24
  "license": "UNLICENSED",
25
25
  "cacheDirectories": [
@@ -3,29 +3,29 @@
3
3
  "@fortawesome/fontawesome-svg-core": "1.2.36",
4
4
  "@fortawesome/free-solid-svg-icons": "5.15.4",
5
5
  "@fortawesome/vue-fontawesome": "2.0.2",
6
- "axios": "0.21.4",
6
+ "axios": "0.22.0",
7
7
  "bootstrap": "4.6.0",
8
8
  "bootstrap-vue": "2.21.2",
9
- "bootswatch": "5.1.1",
10
- "swagger-ui-dist": "3.52.2",
9
+ "bootswatch": "5.1.2",
10
+ "swagger-ui-dist": "3.52.3",
11
11
  "vue": "2.6.14",
12
12
  "vue-class-component": "7.2.6",
13
13
  "vue-cookie": "1.1.4",
14
14
  "vue-infinite-loading": "2.4.5",
15
15
  "vue-router": "3.5.2",
16
- "vue-i18n": "8.25.1",
16
+ "vue-i18n": "8.26.5",
17
17
  "vue-property-decorator": "9.1.2",
18
18
  "vuelidate": "0.7.6",
19
19
  "vuex": "3.6.2",
20
20
  "vue2-filters": "0.13.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/jest": "27.0.1",
24
- "@types/node": "16.9.1",
25
- "@types/sinon": "10.0.2",
23
+ "@types/jest": "27.0.2",
24
+ "@types/node": "16.10.3",
25
+ "@types/sinon": "10.0.4",
26
26
  "@types/vuelidate": "0.7.15",
27
- "@typescript-eslint/eslint-plugin": "4.31.1",
28
- "@typescript-eslint/parser": "4.31.1",
27
+ "@typescript-eslint/eslint-plugin": "4.33.0",
28
+ "@typescript-eslint/parser": "4.33.0",
29
29
  "@vue/eslint-config-prettier": "6.0.0",
30
30
  "@vue/eslint-config-typescript": "7.0.0",
31
31
  "@vue/cli-plugin-eslint": "4.5.13",
@@ -33,47 +33,47 @@
33
33
  "@vue/cli-service": "4.5.13",
34
34
  "@vue/test-utils": "1.2.2",
35
35
  "axios-mock-adapter": "1.20.0",
36
- "autoprefixer": "10.3.4",
36
+ "autoprefixer": "10.3.7",
37
37
  "babel-core": "7.0.0-bridge.0",
38
38
  "browser-sync": "2.27.5",
39
39
  "browser-sync-webpack-plugin": "2.3.0",
40
40
  "copy-webpack-plugin": "9.0.1",
41
- "css-loader": "6.2.0",
42
- "css-minimizer-webpack-plugin": "3.0.2",
41
+ "css-loader": "6.3.0",
42
+ "css-minimizer-webpack-plugin": "3.1.1",
43
43
  "file-loader": "6.2.0",
44
44
  "folder-hash": "4.0.1",
45
45
  "fork-ts-checker-webpack-plugin": "6.3.3",
46
46
  "html-webpack-plugin": "5.3.2",
47
- "jest": "27.2.0",
48
- "jest-junit": "12.2.0",
47
+ "jest": "27.2.4",
48
+ "jest-junit": "13.0.0",
49
49
  "jest-serializer-vue": "2.0.2",
50
50
  "jest-sonar-reporter": "2.0.0",
51
51
  "jest-vue-preprocessor": "1.7.1",
52
52
  "merge-jsons-webpack-plugin": "1.0.21",
53
- "mini-css-extract-plugin": "2.3.0",
53
+ "mini-css-extract-plugin": "2.4.1",
54
54
  "node-notifier": "9.0.1",
55
55
  "numeral": "2.0.6",
56
56
  "portfinder": "1.0.28",
57
- "postcss": "8.3.6",
57
+ "postcss": "8.3.9",
58
58
  "postcss-import": "14.0.2",
59
59
  "postcss-loader": "6.1.1",
60
60
  "postcss-url": "10.1.3",
61
61
  "rimraf": "3.0.2",
62
- "sass": "1.39.2",
62
+ "sass": "1.42.1",
63
63
  "sass-loader": "12.1.0",
64
64
  "sinon": "11.1.2",
65
65
  "terser-webpack-plugin": "5.2.4",
66
66
  "ts-jest": "27.0.5",
67
- "ts-loader": "9.2.5",
67
+ "ts-loader": "9.2.6",
68
68
  "eslint": "6.8.0",
69
69
  "eslint-plugin-prettier": "3.4.1",
70
- "eslint-plugin-vue": "7.17.0",
70
+ "eslint-plugin-vue": "7.19.0",
71
71
  "typescript": "4.4.3",
72
72
  "url-loader": "4.1.1",
73
- "webpack": "5.52.1",
73
+ "webpack": "5.57.1",
74
74
  "webpack-bundle-analyzer": "4.4.2",
75
- "webpack-cli": "4.8.0",
76
- "webpack-dev-server": "4.2.1",
75
+ "webpack-cli": "4.9.0",
76
+ "webpack-dev-server": "4.3.1",
77
77
  "webpack-merge": "5.8.0",
78
78
  "workbox-webpack-plugin": "6.3.0",
79
79
  "vue-jest": "3.0.7",
@@ -19,7 +19,7 @@
19
19
  {
20
20
  "name": "<%= dasherizedBaseName %>",
21
21
  "version": "0.0.0",
22
- "description": "Description for <%= baseName %>",
22
+ "description": "<%= projectDescription %>",
23
23
  "private": true,
24
24
  "license": "UNLICENSED",
25
25
  "cacheDirectories": [
@@ -33,7 +33,7 @@ export default class AccountService {
33
33
 
34
34
  public retrieveProfiles(): Promise<boolean> {
35
35
  return new Promise(resolve => {
36
- axios.get('management/info').then(res => {
36
+ axios.get<any>('management/info').then(res => {
37
37
  if (res.data && res.data.activeProfiles) {
38
38
  this.store.commit('setRibbonOnProfiles', res.data['display-ribbon-on-profiles']);
39
39
  this.store.commit('setActiveProfiles', res.data['activeProfiles']);
@@ -46,7 +46,7 @@ export default class AccountService {
46
46
  public retrieveAccount(): Promise<boolean> {
47
47
  return new Promise(resolve => {
48
48
  axios
49
- .get('api/account').then((response) => {
49
+ .get<any>('api/account').then((response) => {
50
50
  this.store.commit('authenticate');
51
51
  const account = response.data;
52
52
  if (account) {
@@ -23,7 +23,7 @@ export default class ConfigurationService {
23
23
 
24
24
  public loadEnvConfiguration(): Promise<any> {
25
25
  return new Promise(resolve => {
26
- axios.get('management/env').then(res => {
26
+ axios.get<any>('management/env').then(res => {
27
27
  const properties = {};
28
28
  const propertySources = res.data['propertySources'];
29
29
 
@@ -15,7 +15,7 @@ export default class TrackerService {
15
15
 
16
16
  private router: VueRouter;
17
17
 
18
- constructor(router: VueRouter) {
18
+ constructor(router: VueRouter<%_ if (authenticationTypeSession) { _%>, private cookie: any<%_ } _%>) {
19
19
  this.router = router;
20
20
  this.connection = this.createConnection();
21
21
  this.listener = this.createListener();
@@ -28,19 +28,20 @@ export default class TrackerService {
28
28
  // building absolute path so that websocket doesn't fail when deploying with a context path
29
29
  const loc = window.location;
30
30
  const baseHref = document.querySelector('base').getAttribute('href');
31
- let url;
32
- url = '//' + loc.host + baseHref + 'websocket/tracker';
33
31
  <%_ if (authenticationTypeJwt) { _%>
32
+ let url = '//' + loc.host + baseHref + 'websocket/tracker';
34
33
  const authToken = localStorage.getItem('<%=jhiPrefixDashed %>-authenticationToken') || sessionStorage.getItem('<%=jhiPrefixDashed %>-authenticationToken');
35
34
  if (authToken) {
36
35
  url += '?access_token=' + authToken;
37
36
  }
37
+ <%_ } else { _%>
38
+ const url = '//' + loc.host + baseHref + 'websocket/tracker';
38
39
  <%_ } _%>
39
40
  const socket = new SockJS(url);
40
41
  this.stompClient = Stomp.over(socket, { protocols: ['v12.stomp'] });
41
42
  const headers = {};
42
43
  <%_ if (authenticationTypeSession) { _%>
43
- headers['X-XSRF-TOKEN'] = (<any>this).$cookie.get('JSESSIONID') || (<any>this).$cookie.get('XSRF-TOKEN');
44
+ headers['X-XSRF-TOKEN'] = this.cookie.get('JSESSIONID') || this.cookie.get('XSRF-TOKEN');
44
45
  <%_ } _%>
45
46
  this.stompClient.connect(headers, () => this.afterConnect());
46
47
  }
@@ -2,6 +2,7 @@ import { email, maxLength, minLength, required } from 'vuelidate/lib/validators'
2
2
  import { Component, Inject, Vue } from 'vue-property-decorator';
3
3
  import UserManagementService from './user-management.service';
4
4
  import { IUser, User } from '@/shared/model/user.model';
5
+ import AlertService from '@/shared/alert/alert.service';
5
6
 
6
7
  const loginValidator = (value: string) => {
7
8
  if (!value) {
@@ -37,6 +38,8 @@ const validations: any = {
37
38
  })
38
39
  export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
39
40
  @Inject('userService') private userManagementService: () => UserManagementService;
41
+ @Inject('alertService') private alertService: () => AlertService;
42
+
40
43
  public userAccount: IUser;
41
44
  public isSaving = false;
42
45
  public authorities: any[] = [];
@@ -87,6 +90,9 @@ export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
87
90
  solid: true,
88
91
  autoHideDelay: 5000,
89
92
  });
93
+ }).catch(error => {
94
+ this.isSaving = true;
95
+ this.alertService().showHttpError(this,error.response);
90
96
  });
91
97
  } else {
92
98
  <%_ if (!enableTranslation) { _%>
@@ -101,6 +107,9 @@ export default class <%=jhiPrefixCapitalized%>UserManagementEdit extends Vue {
101
107
  solid: true,
102
108
  autoHideDelay: 5000,
103
109
  });
110
+ }).catch(error => {
111
+ this.isSaving = true;
112
+ this.alertService().showHttpError(this,error.response);
104
113
  });
105
114
  }
106
115
  }
@@ -1,10 +1,13 @@
1
1
  import Vue from 'vue';
2
2
  import { Component, Inject } from 'vue-property-decorator';
3
3
  import UserManagementService from './user-management.service';
4
+ import AlertService from '@/shared/alert/alert.service';
4
5
 
5
6
  @Component
6
7
  export default class <%=jhiPrefixCapitalized%>UserManagementView extends Vue {
7
8
  @Inject('userService') private userManagementService: () => UserManagementService;
9
+ @Inject('alertService') private alertService: () => AlertService;
10
+
8
11
  public user: any = null;
9
12
 
10
13
  beforeRouteEnter(to, from, next) {
@@ -17,6 +20,8 @@ export default class <%=jhiPrefixCapitalized%>UserManagementView extends Vue {
17
20
  public init(userId: <% if (userPrimaryKeyTypeString || userPrimaryKeyTypeUUID) { %>string<% } else { %>number<% } %>): void {
18
21
  this.userManagementService().get(userId).then(res => {
19
22
  this.user = res.data;
23
+ }).catch(error => {
24
+ this.alertService().showHttpError(this,error.response);
20
25
  });
21
26
  }
22
27
  }