Skip to content

Commit 15ee6c4

Browse files
committed
migrate to vue-cli
1 parent e087adb commit 15ee6c4

21 files changed

+364
-544
lines changed

generators/base/support/jhipster7-context.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ const deprecatedProperties = {
126126
replacement: 'cacheProviderAny',
127127
get: ({ data }) => data.cacheProviderAny,
128128
},
129+
buildDir: {
130+
replacement: 'temporaryDir',
131+
get: ({ data }) => data.temporaryDir,
132+
},
129133
};
130134

131135
const ejsBuiltInProperties = ['__append', '__line', 'escapeFn', 'include', 'undefined'];

generators/bootstrap-application/generator.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export default class BootstrapApplicationGenerator extends BaseApplicationGenera
7272
prettierExtensions = `${prettierExtensions},java`;
7373
}
7474
application.prettierExtensions = prettierExtensions;
75+
application.webappResources = application.webappResources ?? [];
7576
},
7677
});
7778
}

generators/server/templates/src/main/java/package/config/SecurityConfiguration_imperative.java.ejs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ public class SecurityConfiguration {
164164
authz
165165
<%_ if (!skipClient) { _%>
166166
.requestMatchers("/", "/index.html", "/*.js", "/*.map", "/*.css").permitAll()
167+
<%_ if (webappResources.length > 0) { _%>
168+
.requestMatchers(<%- webappResources.map(webResource => `"${webResource}"`).join(', ') %>).permitAll()
169+
<%_ } _%>
167170
.requestMatchers("/*.ico", "/*.png", "/*.svg", "/*.webapp").permitAll()
168171
.requestMatchers("/app/**").permitAll()
169172
.requestMatchers("/i18n/**").permitAll()

generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,9 @@ public class SecurityConfiguration {
253253
<%_ if (!skipClient) { _%>
254254
.pathMatchers("/").permitAll()
255255
.pathMatchers("/*.*").permitAll()
256+
<%_ for (const webResource of webappResources) { _%>
257+
.pathMatchers("<%- webResource %>").permitAll()
258+
<%_ } _%>
256259
<%_ } _%>
257260
.pathMatchers("/api/authenticate").permitAll()
258261
<%_ if (generateUserManagement) { _%>

generators/server/templates/src/main/java/package/config/StaticResourcesWebConfiguration.java.ejs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,18 @@ import java.util.concurrent.TimeUnit;
3434
public class StaticResourcesWebConfiguration implements WebMvcConfigurer {
3535

3636
protected static final String[] RESOURCE_LOCATIONS = new String[]{"classpath:/static/", "classpath:/static/content/", "classpath:/static/i18n/"};
37-
protected static final String[] RESOURCE_PATHS = new String[]{"/*.js", "/*.css", "/*.svg", "/*.png", "*.ico", "/content/**", "/i18n/*"};
37+
protected static final String[] RESOURCE_PATHS = new String[]{
38+
"/*.js",
39+
<%_ for (const webResource of webappResources) { _%>
40+
"<%- webResource %>",
41+
<%_ } _%>
42+
"/*.css",
43+
"/*.svg",
44+
"/*.png",
45+
"*.ico",
46+
"/content/**",
47+
"/i18n/*"
48+
};
3849

3950
private final JHipsterProperties jhipsterProperties;
4051

generators/vue/__snapshots__/generator.spec.mts.snap

Lines changed: 56 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ exports[`generator - vue gateway-jwt-skipUserManagement(true)-withAdminUi(false)
179179
"src/app/entities/simple/simple.vue": {
180180
"stateCleared": "modified",
181181
},
182+
"src/app/externals.d.ts": {
183+
"stateCleared": "modified",
184+
},
182185
"src/app/main.ts": {
183186
"stateCleared": "modified",
184187
},
@@ -425,19 +428,19 @@ exports[`generator - vue gateway-jwt-skipUserManagement(true)-withAdminUi(false)
425428
"tsconfig.spec.json": {
426429
"stateCleared": "modified",
427430
},
428-
"webpack/config.js": {
431+
"vue.commands.js": {
429432
"stateCleared": "modified",
430433
},
431-
"webpack/vue.utils.js": {
434+
"vue.config.js": {
432435
"stateCleared": "modified",
433436
},
434-
"webpack/webpack.common.js": {
437+
"webpack/config.js": {
435438
"stateCleared": "modified",
436439
},
437-
"webpack/webpack.dev.js": {
440+
"webpack/webpack.common.js": {
438441
"stateCleared": "modified",
439442
},
440-
"webpack/webpack.prod.js": {
443+
"webpack/webpack.dev.js": {
441444
"stateCleared": "modified",
442445
},
443446
}
@@ -667,6 +670,9 @@ exports[`generator - vue gateway-oauth2-withAdminUi(true)-skipJhipsterDependenci
667670
"src/app/entities/user/user.service.ts": {
668671
"stateCleared": "modified",
669672
},
673+
"src/app/externals.d.ts": {
674+
"stateCleared": "modified",
675+
},
670676
"src/app/locale/translation.service.ts": {
671677
"stateCleared": "modified",
672678
},
@@ -943,19 +949,19 @@ exports[`generator - vue gateway-oauth2-withAdminUi(true)-skipJhipsterDependenci
943949
"tsconfig.spec.json": {
944950
"stateCleared": "modified",
945951
},
946-
"webpack/config.js": {
952+
"vue.commands.js": {
947953
"stateCleared": "modified",
948954
},
949-
"webpack/vue.utils.js": {
955+
"vue.config.js": {
950956
"stateCleared": "modified",
951957
},
952-
"webpack/webpack.common.js": {
958+
"webpack/config.js": {
953959
"stateCleared": "modified",
954960
},
955-
"webpack/webpack.dev.js": {
961+
"webpack/webpack.common.js": {
956962
"stateCleared": "modified",
957963
},
958-
"webpack/webpack.prod.js": {
964+
"webpack/webpack.dev.js": {
959965
"stateCleared": "modified",
960966
},
961967
}
@@ -1134,6 +1140,9 @@ exports[`generator - vue microservice-jwt-skipUserManagement(false)-withAdminUi(
11341140
"src/app/entities/user/user.service.ts": {
11351141
"stateCleared": "modified",
11361142
},
1143+
"src/app/externals.d.ts": {
1144+
"stateCleared": "modified",
1145+
},
11371146
"src/app/index.ts": {
11381147
"stateCleared": "modified",
11391148
},
@@ -1392,10 +1401,13 @@ exports[`generator - vue microservice-jwt-skipUserManagement(false)-withAdminUi(
13921401
"tsconfig.spec.json": {
13931402
"stateCleared": "modified",
13941403
},
1395-
"webpack/config.js": {
1404+
"vue.commands.js": {
1405+
"stateCleared": "modified",
1406+
},
1407+
"vue.config.js": {
13961408
"stateCleared": "modified",
13971409
},
1398-
"webpack/vue.utils.js": {
1410+
"webpack/config.js": {
13991411
"stateCleared": "modified",
14001412
},
14011413
"webpack/webpack.common.js": {
@@ -1407,9 +1419,6 @@ exports[`generator - vue microservice-jwt-skipUserManagement(false)-withAdminUi(
14071419
"webpack/webpack.microfrontend.js": {
14081420
"stateCleared": "modified",
14091421
},
1410-
"webpack/webpack.prod.js": {
1411-
"stateCleared": "modified",
1412-
},
14131422
}
14141423
`;
14151424

@@ -1580,6 +1589,9 @@ exports[`generator - vue microservice-oauth2-withAdminUi(true)-skipJhipsterDepen
15801589
"src/main/webapp2/app/entities/user/user.service.ts": {
15811590
"stateCleared": "modified",
15821591
},
1592+
"src/main/webapp2/app/externals.d.ts": {
1593+
"stateCleared": "modified",
1594+
},
15831595
"src/main/webapp2/app/index.ts": {
15841596
"stateCleared": "modified",
15851597
},
@@ -1847,10 +1859,13 @@ exports[`generator - vue microservice-oauth2-withAdminUi(true)-skipJhipsterDepen
18471859
"tsconfig.spec.json": {
18481860
"stateCleared": "modified",
18491861
},
1850-
"webpack/config.js": {
1862+
"vue.commands.js": {
1863+
"stateCleared": "modified",
1864+
},
1865+
"vue.config.js": {
18511866
"stateCleared": "modified",
18521867
},
1853-
"webpack/vue.utils.js": {
1868+
"webpack/config.js": {
18541869
"stateCleared": "modified",
18551870
},
18561871
"webpack/webpack.common.js": {
@@ -1862,9 +1877,6 @@ exports[`generator - vue microservice-oauth2-withAdminUi(true)-skipJhipsterDepen
18621877
"webpack/webpack.microfrontend.js": {
18631878
"stateCleared": "modified",
18641879
},
1865-
"webpack/webpack.prod.js": {
1866-
"stateCleared": "modified",
1867-
},
18681880
}
18691881
`;
18701882

@@ -2152,6 +2164,9 @@ exports[`generator - vue monolith-jwt-skipUserManagement(false)-withAdminUi(true
21522164
"src/main/webapp2/app/entities/user/user.service.ts": {
21532165
"stateCleared": "modified",
21542166
},
2167+
"src/main/webapp2/app/externals.d.ts": {
2168+
"stateCleared": "modified",
2169+
},
21552170
"src/main/webapp2/app/locale/translation.service.ts": {
21562171
"stateCleared": "modified",
21572172
},
@@ -2455,19 +2470,19 @@ exports[`generator - vue monolith-jwt-skipUserManagement(false)-withAdminUi(true
24552470
"tsconfig.spec.json": {
24562471
"stateCleared": "modified",
24572472
},
2458-
"webpack/config.js": {
2473+
"vue.commands.js": {
24592474
"stateCleared": "modified",
24602475
},
2461-
"webpack/vue.utils.js": {
2476+
"vue.config.js": {
24622477
"stateCleared": "modified",
24632478
},
2464-
"webpack/webpack.common.js": {
2479+
"webpack/config.js": {
24652480
"stateCleared": "modified",
24662481
},
2467-
"webpack/webpack.dev.js": {
2482+
"webpack/webpack.common.js": {
24682483
"stateCleared": "modified",
24692484
},
2470-
"webpack/webpack.prod.js": {
2485+
"webpack/webpack.dev.js": {
24712486
"stateCleared": "modified",
24722487
},
24732488
}
@@ -2640,6 +2655,9 @@ exports[`generator - vue monolith-oauth2-withAdminUi(false)-skipJhipsterDependen
26402655
"src/main/webapp/app/entities/user/user.service.ts": {
26412656
"stateCleared": "modified",
26422657
},
2658+
"src/main/webapp/app/externals.d.ts": {
2659+
"stateCleared": "modified",
2660+
},
26432661
"src/main/webapp/app/main.ts": {
26442662
"stateCleared": "modified",
26452663
},
@@ -2880,19 +2898,19 @@ exports[`generator - vue monolith-oauth2-withAdminUi(false)-skipJhipsterDependen
28802898
"tsconfig.spec.json": {
28812899
"stateCleared": "modified",
28822900
},
2883-
"webpack/config.js": {
2901+
"vue.commands.js": {
28842902
"stateCleared": "modified",
28852903
},
2886-
"webpack/vue.utils.js": {
2904+
"vue.config.js": {
28872905
"stateCleared": "modified",
28882906
},
2889-
"webpack/webpack.common.js": {
2907+
"webpack/config.js": {
28902908
"stateCleared": "modified",
28912909
},
2892-
"webpack/webpack.dev.js": {
2910+
"webpack/webpack.common.js": {
28932911
"stateCleared": "modified",
28942912
},
2895-
"webpack/webpack.prod.js": {
2913+
"webpack/webpack.dev.js": {
28962914
"stateCleared": "modified",
28972915
},
28982916
}
@@ -3068,6 +3086,9 @@ exports[`generator - vue monolith-session-skipUserManagement(true)-withAdminUi(f
30683086
"src/main/webapp/app/entities/simple/simple.vue": {
30693087
"stateCleared": "modified",
30703088
},
3089+
"src/main/webapp/app/externals.d.ts": {
3090+
"stateCleared": "modified",
3091+
},
30713092
"src/main/webapp/app/main.ts": {
30723093
"stateCleared": "modified",
30733094
},
@@ -3311,19 +3332,19 @@ exports[`generator - vue monolith-session-skipUserManagement(true)-withAdminUi(f
33113332
"tsconfig.spec.json": {
33123333
"stateCleared": "modified",
33133334
},
3314-
"webpack/config.js": {
3335+
"vue.commands.js": {
33153336
"stateCleared": "modified",
33163337
},
3317-
"webpack/vue.utils.js": {
3338+
"vue.config.js": {
33183339
"stateCleared": "modified",
33193340
},
3320-
"webpack/webpack.common.js": {
3341+
"webpack/config.js": {
33213342
"stateCleared": "modified",
33223343
},
3323-
"webpack/webpack.dev.js": {
3344+
"webpack/webpack.common.js": {
33243345
"stateCleared": "modified",
33253346
},
3326-
"webpack/webpack.prod.js": {
3347+
"webpack/webpack.dev.js": {
33273348
"stateCleared": "modified",
33283349
},
33293350
}

generators/vue/cleanup.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,9 @@ export default function cleanupOldFilesTask({ application } = {}) {
4848
if (this.isJhipsterVersionLessThan('7.4.2')) {
4949
this.removeFile(`${application.clientSrcDir}app/entities/user/user.oauth2.service.ts`);
5050
}
51+
52+
if (this.isJhipsterVersionLessThan('7.10.0')) {
53+
this.removeFile('webpack/webpack.prod.js');
54+
this.removeFile('webpack/vue.utils.js');
55+
}
5156
}

generators/vue/files-vue.mjs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ export const vueFiles = {
2828
'tsconfig.spec.json',
2929
'.postcssrc.js',
3030
'.eslintrc.js',
31+
'vue.commands.js',
32+
'vue.config.js',
3133
'webpack/config.js',
3234
'webpack/webpack.common.js',
3335
'webpack/webpack.dev.js',
34-
'webpack/webpack.prod.js',
35-
'webpack/vue.utils.js',
3636
],
3737
},
3838
],
@@ -76,6 +76,7 @@ export const vueFiles = {
7676
'shims-vue.d.ts',
7777
'constants.ts',
7878
'declarations.d.ts',
79+
'externals.d.ts',
7980
'main.ts',
8081
'shared/alert/alert.service.ts',
8182
'shared/config/axios-interceptor.ts',

generators/vue/generator.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ export default class VueGenerator extends BaseApplicationGenerator {
7373
application.nodeDependencies,
7474
this.fetchFromInstalledJHipster(GENERATOR_VUE, 'templates', 'package.json')
7575
);
76+
application.nodeDependencies['@vue/cli-service'] = '5.0.8';
77+
application.webappResources = ['/manifest.json', '/js/*.js', '/css/*.css'];
7678
},
7779
});
7880
}

generators/vue/templates/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"webpack-cli": "5.0.1",
6666
"webpack-dev-server": "4.11.1",
6767
"webpack-merge": "5.8.0",
68+
"webpack-notifier": "1.15.0",
6869
"workbox-webpack-plugin": "6.5.4",
6970
"vue-jest": "3.0.7",
7071
"vue-loader": "15.10.1"

0 commit comments

Comments
 (0)