Browse Source

Implement basic setup for dist folder and .tar.gz generation

Lucas de Souza 4 years ago
parent
commit
be5cd45357
5 changed files with 224 additions and 156 deletions
  1. 1 4
      .gitignore
  2. 202 145
      package-lock.json
  3. 2 0
      package.json
  4. 5 5
      src/index.html
  5. 14 2
      webpack.config.js

+ 1 - 4
.gitignore

@@ -1,6 +1,3 @@
 node_modules
 dist
-.webpack
-package-lock.json
-main.js
-src/main.js
+igeom.tar.gz

File diff suppressed because it is too large
+ 202 - 145
package-lock.json


+ 2 - 0
package.json

@@ -16,11 +16,13 @@
     "@babel/preset-env": "^7.5.5",
     "babel-loader": "^8.0.6",
     "webpack": "^4.39.2",
+    "copy-webpack-plugin": "^5.0.4",
     "webpack-cli": "^3.3.7"
   },
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "webpack --mode=development -w",
+    "dist": "webpack --mode=production && tar -zcvf igeom.tar.gz dist/",
     "babel": "babel  ./src/app/app.js -o ./src/main.js -w"
   },
   "repository": {

+ 5 - 5
src/index.html

@@ -7,7 +7,7 @@
     <title>Proof of Concept - iGeom - Web</title>
     <link
       rel="stylesheet"
-      href="../node_modules/bootstrap/dist/css/bootstrap.min.css"
+      href="css/bootstrap.min.css"
     />
     <link rel="stylesheet" href="css/app.css" />
     <link rel="stylesheet" href="css/icons.css" />
@@ -59,9 +59,9 @@
         <div id="stages"></div>
       </div>
     </div>
-    <script src="../node_modules/jquery/dist/jquery.min.js"></script>
-    <script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
-    <script src="../node_modules/konva/konva.min.js"></script>
-    <script src="main.js"></script>
+    <script src="js/jquery.min.js"></script>
+    <script src="js/bootstrap.min.js"></script>
+    <script src="js/konva.min.js"></script>
+    <script src="js/main.js"></script>
   </body>
 </html>

+ 14 - 2
webpack.config.js

@@ -1,10 +1,11 @@
 const path = require("path");
+const CopyPlugin = require('copy-webpack-plugin');
 
 module.exports = {
   entry: "./src/app/app.js",
   output: {
     filename: "main.js",
-    path: path.resolve(__dirname, "src")
+    path: path.resolve(__dirname, 'dist/js')
   },
   module: {
     rules: [
@@ -24,5 +25,16 @@ module.exports = {
         }
       }
     ]
-  }
+  },
+  plugins: [
+    new CopyPlugin([
+      {from:'src/index.html', to:path.resolve(__dirname, 'dist')},
+      {from:'node_modules/jquery/dist/jquery.min.js', to:path.resolve(__dirname, 'dist/js')},
+      {from:'node_modules/bootstrap/dist/js/bootstrap.min.js', to:path.resolve(__dirname, 'dist/js')},
+      {from:'node_modules/konva/konva.min.js', to:path.resolve(__dirname, 'dist/js')},
+      {from:'node_modules/bootstrap/dist/css/bootstrap.min.css', to:path.resolve(__dirname, 'dist/css')},
+      {from:'src/css/', to:path.resolve(__dirname, 'dist/css')},
+      {from:'src/assets/', to:path.resolve(__dirname, 'dist/assets')}
+    ])
+  ]
 };