Added admin bundle to grunt build

This commit is contained in:
Rohan Sircar 2020-07-24 14:14:02 +05:30
parent 9119fe57f3
commit 795ca1b682
4 changed files with 128 additions and 86 deletions

View File

@ -1,23 +1,26 @@
module.exports = function (grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
terser: {
options: {
// Task-specific options go here.
},
build: {
// Target-specific file lists and/or options go here.
src: 'src/main/resources/static/js/bundle.js',
dest: 'src/main/resources/static/js/bundle.min.js'
},
chat_worker: {
src: 'src/main/resources/static/js/worker.js',
dest: 'src/main/resources/static/js/worker.js'
},
},
banner: `
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
terser: {
options: {
// Task-specific options go here.
},
build: {
// Target-specific file lists and/or options go here.
src: "src/main/resources/static/js/bundle.js",
dest: "src/main/resources/static/js/bundle.min.js",
},
chat_worker: {
src: "src/main/resources/static/js/worker.js",
dest: "src/main/resources/static/js/worker.js",
},
admin_bundle: {
src: "src/main/resources/static/js/adminBundle.js",
dest: "src/main/resources/static/js/adminBundle.min.js",
},
},
banner: `
* -----------------------------------------
* @date <%= grunt.template.today("yyyy-mm-dd") %>
* @project Chatto
@ -25,73 +28,110 @@ module.exports = function (grunt) {
* @license GPL
* -----------------------------------------
`,
usebanner: {
dist: {
options: {
position: 'top',
banner: '/*! <%= banner %> */ '
},
files: {
src: ['src/main/resources/static/js/bundle.min.js', 'src/main/resources/static/js/worker.js']
}
}
usebanner: {
dist: {
options: {
position: "top",
banner: "/*! <%= banner %> */ ",
},
browserify: {
chat_worker_dev: {
src: 'src/main/frontend/workers/encryption-worker/main.ts',
dest: 'src/main/resources/static/js/worker.js',
options: {
browserifyOptions: {
debug: true
},
}
files: {
src: [
"src/main/resources/static/js/bundle.min.js",
"src/main/resources/static/js/adminBundle.min.js",
"src/main/resources/static/js/worker.js",
],
},
},
},
browserify: {
chat_worker_dev: {
src: "src/main/frontend/workers/encryption-worker/main.ts",
dest: "src/main/resources/static/js/worker.js",
options: {
browserifyOptions: {
debug: true,
},
},
},
dev: {
src: "src/main/frontend/chat/main.ts",
dest: "src/main/resources/static/js/bundle.js",
options: {
browserifyOptions: {
debug: true,
},
},
},
prod: {
src: "src/main/frontend/chat/main.ts",
dest: "src/main/resources/static/js/bundle.js",
banner: '/*! Chat.js <%= grunt.template.today("yyyy-mm-dd") %> */ ',
options: {
browserifyOptions: {
debug: false,
},
},
},
chat_worker_prod: {
src: "src/main/frontend/workers/encryption-worker/main.ts",
dest: "src/main/resources/static/js/worker.min.js",
},
admin_bundle_dev: {
src: "src/main/frontend/admin/main.ts",
dest: "src/main/resources/static/js/adminBundle.js",
options: {
browserifyOptions: {
debug: true,
},
},
},
admin_bundle_prod: {
src: "src/main/frontend/admin/main.ts",
dest: "src/main/resources/static/js/adminBundle.js",
banner: '/*! Chat.js <%= grunt.template.today("yyyy-mm-dd") %> */ ',
options: {
browserifyOptions: {
debug: false,
},
},
},
options: {
plugin: [
[
"tsify",
{
target: "ES6",
noImplicitAny: true,
esModuleInterop: true,
allowSyntheticDefaultImports: true,
},
dev: {
src: 'src/main/frontend/chat/main.ts',
dest: 'src/main/resources/static/js/bundle.js',
options: {
browserifyOptions: {
debug: true
},
}
},
prod: {
src: 'src/main/frontend/chat/main.ts',
dest: 'src/main/resources/static/js/bundle.js',
banner: '/*! Chat.js <%= grunt.template.today("yyyy-mm-dd") %> */ ',
options: {
browserifyOptions: {
debug: false
},
}
},
chat_worker_prod: {
src: 'src/main/frontend/workers/encryption-worker/main.ts',
dest: 'src/main/resources/static/js/worker.min.js',
},
options: {
plugin: [
['tsify', { target: 'ES6', noImplicitAny: true, esModuleInterop: true, allowSyntheticDefaultImports: true }], // register plugin by name
],
], // register plugin by name
],
browserifyOptions: {},
},
},
});
browserifyOptions: {},
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks("grunt-terser");
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-terser');
// // Default task(s).
// grunt.registerTask('default', ['uglify']);
// // Default task(s).
// grunt.registerTask('default', ['uglify']);
grunt.loadNpmTasks("grunt-browserify");
grunt.loadNpmTasks("grunt-banner");
grunt.loadNpmTasks('grunt-browserify')
grunt.loadNpmTasks('grunt-banner');
grunt.registerTask('default', ['browserify:dev', 'browserify:chat_worker_dev'])
grunt.registerTask('prod', ["browserify:prod", 'browserify:chat_worker_dev', "terser", 'usebanner'])
};
grunt.registerTask("default", [
"browserify:dev",
"browserify:chat_worker_dev",
"browserify:admin_bundle_dev",
]);
grunt.registerTask("prod", [
"browserify:prod",
"browserify:chat_worker_dev",
"browserify:admin_bundle_prod",
"terser",
"usebanner",
]);
};

View File

@ -6,4 +6,5 @@ logging.level.org.hibernate.type.descriptor.sql.BasicBinder=INFO
spring.http.log-request-details=false
logging.level.org.springframework.cache = INFO
chat-bundle=bundle.min.js
admin-bundle=adminBundle.min.js
chatto.frontend.log-level=INFO

View File

@ -3,7 +3,6 @@
#spring.datasource.url = jdbc:mysql://localhost:3306/chatto_db?useSSL=false
#spring.datasource.username = chatto_user
#spring.datasource.password = password
chatto.datasource.username=chatto_user
chatto.datasource.password=password
chatto.datasource.database-name=chatto_db2
@ -29,6 +28,7 @@ spring.cache.jcache.config=classpath:ehcache.xml
logging.level.org.springframework.cache=DEBUG
chatto.token.timeout-duration=30
chat-bundle=bundle.js
admin-bundle=adminBundle.js
# spring.devtools.add-properties=false
chatto.frontend.log-level=TRACE
chatto.frontend.chat-page-size=9

View File

@ -42,11 +42,9 @@
crossorigin="anonymous" /> -->
<script th:src="@{/js/adminBundle.js}" src="../../static/js/adminBundle.js" defer="defer"></script>
<!-- <script th:src="@{/js/admin.js}" src="../../static/js/admin.js" defer="defer"></script> -->
<script th:src="@{/js/sb-admin-2.js}" src="../../static/js/sb-admin-2.js" defer="defer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.js" defer></script>
@ -73,6 +71,9 @@
href="../../../resources/static/css/dataTables.bootstrap4.min.css">
<link th:href="@{/css/admin-custom.css}" href="../../static/css/admin-custom.css" rel="stylesheet">
<script th:src="@{'/js/' + ${@environment.getProperty('admin-bundle')}}" src="../../static/js/adminBundle.js"
defer="defer"></script>
</th:block>