mirror of
				https://github.com/vector-im/element-web.git
				synced 2025-11-04 02:02:14 +01:00 
			
		
		
		
	Merge pull request #2515 from vector-im/rav/cache_busting
Put a cachebuster in the names of CSS and JS files
This commit is contained in:
		
						commit
						b174d49f9d
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -8,6 +8,7 @@
 | 
				
			|||||||
/vector/bundle.*
 | 
					/vector/bundle.*
 | 
				
			||||||
/vector/emojione/
 | 
					/vector/emojione/
 | 
				
			||||||
/vector/config.json
 | 
					/vector/config.json
 | 
				
			||||||
 | 
					/vector/index.html
 | 
				
			||||||
/vector/olm.*
 | 
					/vector/olm.*
 | 
				
			||||||
.DS_Store
 | 
					.DS_Store
 | 
				
			||||||
npm-debug.log
 | 
					npm-debug.log
 | 
				
			||||||
 | 
				
			|||||||
@ -35,13 +35,13 @@
 | 
				
			|||||||
    "build:dev": "npm run build:emojione && npm run build:css && npm run build:bundle:dev",
 | 
					    "build:dev": "npm run build:emojione && npm run build:css && npm run build:bundle:dev",
 | 
				
			||||||
    "package": "scripts/package.sh",
 | 
					    "package": "scripts/package.sh",
 | 
				
			||||||
    "start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" vector/emojione/svg/ -w",
 | 
					    "start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" vector/emojione/svg/ -w",
 | 
				
			||||||
    "start:js": "webpack -w --progress",
 | 
					    "start:js": "webpack -w --progress --no-cache-buster",
 | 
				
			||||||
    "start:js:prod": "NODE_ENV=production webpack -w --progress",
 | 
					    "start:js:prod": "NODE_ENV=production webpack -w --progress --no-cache-buster",
 | 
				
			||||||
    "start:skins:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css",
 | 
					    "start:skins:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css",
 | 
				
			||||||
    "//cache": "Note the -c 1 below due to https://code.google.com/p/chromium/issues/detail?id=508270",
 | 
					    "//cache": "Note the -c 1 below due to https://code.google.com/p/chromium/issues/detail?id=508270",
 | 
				
			||||||
    "start": "node scripts/babelcheck.js && parallelshell \"npm run start:emojione\" \"npm run start:js\" \"npm run start:skins:css\" \"http-server -c 1 vector\"",
 | 
					    "start": "node scripts/babelcheck.js && parallelshell \"npm run start:emojione\" \"npm run start:js\" \"npm run start:skins:css\" \"http-server -c 1 vector\"",
 | 
				
			||||||
    "start:prod": "parallelshell \"npm run start:emojione\" \"npm run start:js:prod\" \"npm run start:skins:css\" \"http-server -c 1 vector\"",
 | 
					    "start:prod": "parallelshell \"npm run start:emojione\" \"npm run start:js:prod\" \"npm run start:skins:css\" \"http-server -c 1 vector\"",
 | 
				
			||||||
    "clean": "rimraf build lib vector/olm.* vector/bundle.* vector/emojione",
 | 
					    "clean": "rimraf build lib vector/olm.* vector/bundle.* vector/emojione vector/index.html",
 | 
				
			||||||
    "prepublish": "npm run build:compile",
 | 
					    "prepublish": "npm run build:compile",
 | 
				
			||||||
    "test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
 | 
					    "test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
 | 
				
			||||||
    "test:multi": "karma start"
 | 
					    "test:multi": "karma start"
 | 
				
			||||||
@ -93,6 +93,7 @@
 | 
				
			|||||||
    "emojione": "^2.2.3",
 | 
					    "emojione": "^2.2.3",
 | 
				
			||||||
    "expect": "^1.16.0",
 | 
					    "expect": "^1.16.0",
 | 
				
			||||||
    "fs-extra": "^0.30.0",
 | 
					    "fs-extra": "^0.30.0",
 | 
				
			||||||
 | 
					    "html-webpack-plugin": "^2.24.0",
 | 
				
			||||||
    "http-server": "^0.8.4",
 | 
					    "http-server": "^0.8.4",
 | 
				
			||||||
    "json-loader": "^0.5.3",
 | 
					    "json-loader": "^0.5.3",
 | 
				
			||||||
    "karma": "^0.13.22",
 | 
					    "karma": "^0.13.22",
 | 
				
			||||||
 | 
				
			|||||||
@ -20,14 +20,16 @@
 | 
				
			|||||||
    <meta name="msapplication-TileImage" content="vector-icons/mstile-144x144.png">
 | 
					    <meta name="msapplication-TileImage" content="vector-icons/mstile-144x144.png">
 | 
				
			||||||
    <meta name="msapplication-config" content="vector-icons/browserconfig.xml">
 | 
					    <meta name="msapplication-config" content="vector-icons/browserconfig.xml">
 | 
				
			||||||
    <meta name="theme-color" content="#ffffff">
 | 
					    <meta name="theme-color" content="#ffffff">
 | 
				
			||||||
 | 
					    <% for(var i=0; i<htmlWebpackPlugin.files.css.length; i++) {%>
 | 
				
			||||||
 | 
					       <link href="<%= htmlWebpackPlugin.files.css[i] %>" rel="stylesheet">
 | 
				
			||||||
 | 
					    <% } %>
 | 
				
			||||||
  </head>
 | 
					  </head>
 | 
				
			||||||
  <body style="height: 100%;">
 | 
					  <body style="height: 100%;">
 | 
				
			||||||
    <section id="matrixchat" style="height: 100%;"></section>
 | 
					    <section id="matrixchat" style="height: 100%;"></section>
 | 
				
			||||||
    <!-- load olm, if possible. -->
 | 
					 | 
				
			||||||
    <script src="olm.js"></script>
 | 
					 | 
				
			||||||
    <script src="bundle.js"></script>
 | 
					 | 
				
			||||||
    <noscript>Sorry, Riot requires JavaScript to be enabled.</noscript>
 | 
					    <noscript>Sorry, Riot requires JavaScript to be enabled.</noscript>
 | 
				
			||||||
    <link rel="stylesheet" href="bundle.css">
 | 
					    <% for(var i=0; i<htmlWebpackPlugin.files.js.length; i++) {%>
 | 
				
			||||||
 | 
					       <script src="<%= htmlWebpackPlugin.files.js[i] %>"></script>
 | 
				
			||||||
 | 
					    <% } %>
 | 
				
			||||||
    <img src="img/warning.svg" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
 | 
					    <img src="img/warning.svg" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
 | 
				
			||||||
    <audio id="messageAudio">
 | 
					    <audio id="messageAudio">
 | 
				
			||||||
        <source src="media/message.ogg" type="audio/ogg" />
 | 
					        <source src="media/message.ogg" type="audio/ogg" />
 | 
				
			||||||
@ -1,6 +1,16 @@
 | 
				
			|||||||
var path = require('path');
 | 
					var path = require('path');
 | 
				
			||||||
var webpack = require('webpack');
 | 
					var webpack = require('webpack');
 | 
				
			||||||
var ExtractTextPlugin = require("extract-text-webpack-plugin");
 | 
					var ExtractTextPlugin = require("extract-text-webpack-plugin");
 | 
				
			||||||
 | 
					var HtmlWebpackPlugin = require('html-webpack-plugin');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var cachebuster = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for (var i=0; i < process.argv.length; i++) {
 | 
				
			||||||
 | 
					    var arg = process.argv[i];
 | 
				
			||||||
 | 
					    if (arg == "--no-cache-buster") {
 | 
				
			||||||
 | 
					        cachebuster = false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = {
 | 
					module.exports = {
 | 
				
			||||||
    entry: {
 | 
					    entry: {
 | 
				
			||||||
@ -39,7 +49,7 @@ module.exports = {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    output: {
 | 
					    output: {
 | 
				
			||||||
        path: path.join(__dirname, "vector"),
 | 
					        path: path.join(__dirname, "vector"),
 | 
				
			||||||
        filename: "[name].js",
 | 
					        filename: "[name]" + (cachebuster ? ".[chunkhash]" : "") + ".js",
 | 
				
			||||||
        devtoolModuleFilenameTemplate: function(info) {
 | 
					        devtoolModuleFilenameTemplate: function(info) {
 | 
				
			||||||
            // Reading input source maps gives only relative paths here for
 | 
					            // Reading input source maps gives only relative paths here for
 | 
				
			||||||
            // everything. Until I figure out how to fix this, this is a
 | 
					            // everything. Until I figure out how to fix this, this is a
 | 
				
			||||||
@ -73,8 +83,21 @@ module.exports = {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }),
 | 
					        }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        new ExtractTextPlugin("bundle.css", {
 | 
					        new ExtractTextPlugin(
 | 
				
			||||||
            allChunks: true
 | 
					            "[name]" + (cachebuster ? ".[contenthash]" : "") + ".css",
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                allChunks: true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        new HtmlWebpackPlugin({
 | 
				
			||||||
 | 
					            template: './src/vector/index.html',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // we inject the links ourselves via the template, because
 | 
				
			||||||
 | 
					            // HtmlWebpackPlugin wants to put the script tags either at the
 | 
				
			||||||
 | 
					            // bottom of <head> or the bottom of <body>, and I'm a bit scared
 | 
				
			||||||
 | 
					            // about moving them.
 | 
				
			||||||
 | 
					            inject: false,
 | 
				
			||||||
        }),
 | 
					        }),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    devtool: 'source-map'
 | 
					    devtool: 'source-map'
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user