From 7b7934dba113dfa84d4591eec715082d4b81883d Mon Sep 17 00:00:00 2001 From: "Felix W. Dekker" Date: Thu, 15 Apr 2021 19:02:49 +0200 Subject: [PATCH] Prepare for centralised deployment --- Gruntfile.js | 24 ++++++++++++++---------- package-lock.json | Bin 322251 -> 322686 bytes package.json | 16 +++++++++------- src/main/css/main.css | 5 +++++ src/main/css/normalize.css | 2 -- src/main/js/{Template.js => main.js} | 7 ------- 6 files changed, 28 insertions(+), 26 deletions(-) create mode 100644 src/main/css/main.css delete mode 100644 src/main/css/normalize.css rename src/main/js/{Template.js => main.js} (97%) diff --git a/Gruntfile.js b/Gruntfile.js index 755e1f5..d1d1c81 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -6,6 +6,13 @@ module.exports = grunt => { clean: { default: ["dist/"], }, + cssmin: { + target: { + files: { + "dist/bundle.css": "src/main/css/main.css", + }, + }, + }, focus: { dev: { include: ["css", "js"], @@ -13,26 +20,22 @@ module.exports = grunt => { }, webpack: { options: { - entry: "./src/main/js/Template.js", + entry: "./src/main/js/main.js", module: { rules: [ { test: /\.js$/i, exclude: /node_modules/, }, - { - test: /\.css$/i, - use: ["style-loader", "css-loader"], - }, ], }, resolve: { - extensions: [".js", ".css"], + extensions: [".js"], }, output: { library: "fwdekker-template", libraryTarget: "umd", - filename: "index.js", + filename: "bundle.js", path: path.resolve(__dirname, "dist"), } }, @@ -47,7 +50,7 @@ module.exports = grunt => { watch: { css: { files: ["src/main/**/*.css"], - tasks: ["webpack:dev"], + tasks: ["cssmin"], }, js: { files: ["src/main/**/*.js"], @@ -57,13 +60,14 @@ module.exports = grunt => { }); grunt.loadNpmTasks("grunt-contrib-clean"); + grunt.loadNpmTasks("grunt-contrib-cssmin"); grunt.loadNpmTasks("grunt-contrib-watch"); grunt.loadNpmTasks("grunt-focus"); grunt.loadNpmTasks("grunt-webpack"); - grunt.registerTask("dev", ["webpack:dev"]); + grunt.registerTask("dev", ["webpack:dev", "cssmin"]); grunt.registerTask("dev:server", ["dev", "focus:dev"]); - grunt.registerTask("deploy", ["webpack:deploy"]); + grunt.registerTask("deploy", ["webpack:deploy", "cssmin"]); grunt.registerTask("default", ["dev"]); }; diff --git a/package-lock.json b/package-lock.json index 23d3ac555394f0cb8139b09d1f02c37d44b0f53c..954e8a5f6784f8687894bf91698abeb93e795a76 100644 GIT binary patch delta 7398 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 b|FkF_c?wa19;-<+KgF~o(u@CyX~6#gg(}ZZ delta 8909 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 NE?CvXzoHiCe*tf>^q>F$ diff --git a/package.json b/package.json index 1a3c1c7..26d0572 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fwdekker/template", - "version": "0.0.27", + "version": "1.0.0", "description": "The base template for pages on fwdekker.com.", "author": "Felix W. Dekker (https://fwdekker.com)", "license": "MIT", @@ -12,9 +12,10 @@ "bugs": { "url": "https://git.fwdekker.com/FWDekker/fwdekker-template/issues" }, - "browser": "dist/index.js", + "browser": "bundle.js", "files": [ - "dist/index.js" + "dist/bundle.js", + "dist/bundle.css" ], "scripts": { "clean": "grunt clean", @@ -24,18 +25,19 @@ "prepare": "grunt clean deploy" }, "dependencies": { - "milligram": "^1.4.1" + "milligram": "^1.4.1", + "normalize.css": "^8.0.1" }, "devDependencies": { - "css-loader": "^5.2.1", "grunt": "^1.3.0", "grunt-cli": "^1.4.2", "grunt-contrib-clean": "^2.0.0", + "grunt-contrib-cssmin": "^4.0.0", + "grunt-contrib-sass": "^2.0.0", "grunt-contrib-watch": "^1.1.0", "grunt-focus": "^1.0.0", "grunt-webpack": "^4.0.2", - "style-loader": "^2.0.0", - "webpack": "^5.32.0", + "webpack": "^5.33.2", "webpack-cli": "^4.6.0" } } diff --git a/src/main/css/main.css b/src/main/css/main.css new file mode 100644 index 0000000..33ebb12 --- /dev/null +++ b/src/main/css/main.css @@ -0,0 +1,5 @@ +@import "../../../node_modules/normalize.css/normalize.css"; +@import "../../../node_modules/milligram/dist/milligram.css"; +@import "common.css"; +@import "nav.css"; +@import "overrides.css"; diff --git a/src/main/css/normalize.css b/src/main/css/normalize.css deleted file mode 100644 index 7ede03f..0000000 --- a/src/main/css/normalize.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} diff --git a/src/main/js/Template.js b/src/main/js/main.js similarity index 97% rename from src/main/js/Template.js rename to src/main/js/main.js index a5cb0bf..c7f0834 100644 --- a/src/main/js/Template.js +++ b/src/main/js/main.js @@ -1,10 +1,3 @@ -import "../css/normalize.css"; -import "milligram/dist/milligram.min.css"; -import "../css/common.css"; -import "../css/nav.css"; -import "../css/overrides.css"; - - /** * Converts the given string to an HTML element. *