Merge pull request #11994 from vector-im/dbkr/steal-daves-webpack_rel
Fix webpack config (by stealing Dave's config)pull/12076/head
						commit
						a90e56a22b
					
				| 
						 | 
				
			
			@ -21,6 +21,12 @@ module.exports = (env, argv) => {
 | 
			
		|||
        development['devtool'] = 'eval-source-map';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Resolve the directories for the react-sdk and js-sdk for later use. We resolve these early so we
 | 
			
		||||
    // don't have to call them over and over. We also resolve to the package.json instead of the src
 | 
			
		||||
    // directory so we don't have to rely on a index.js or similar file existing.
 | 
			
		||||
    const reactSdkSrcDir = path.resolve(require.resolve("matrix-react-sdk/package.json"), '..', 'src');
 | 
			
		||||
    const jsSdkSrcDir = path.resolve(require.resolve("matrix-js-sdk/package.json"), '..', 'src');
 | 
			
		||||
 | 
			
		||||
    return {
 | 
			
		||||
        ...development,
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -110,21 +116,21 @@ module.exports = (env, argv) => {
 | 
			
		|||
                {
 | 
			
		||||
                    test: /\.(ts|js)x?$/,
 | 
			
		||||
                    include: (f) => {
 | 
			
		||||
                        // our own source needs babel-ing
 | 
			
		||||
                        if (f.startsWith(path.resolve(__dirname, 'src'))) return true;
 | 
			
		||||
 | 
			
		||||
                        // we use the original source files of react-sdk and js-sdk, so we need to
 | 
			
		||||
                        // run them through babel.
 | 
			
		||||
                        if (f.startsWith(path.resolve(__dirname, 'node_modules', 'matrix-js-sdk'))) return true;
 | 
			
		||||
                        if (f.startsWith(path.resolve(__dirname, 'node_modules', 'matrix-react-sdk'))) return true;
 | 
			
		||||
                        // run them through babel. Because the path tested is the resolved, absolute
 | 
			
		||||
                        // path, these could be anywhere thanks to yarn link. We must also not
 | 
			
		||||
                        // include node modules inside these modules, so we add 'src'.
 | 
			
		||||
                        if (f.startsWith(reactSdkSrcDir)) return true;
 | 
			
		||||
                        if (f.startsWith(jsSdkSrcDir)) return true;
 | 
			
		||||
 | 
			
		||||
                        // but we can't run all of our dependencies through babel (many of them still
 | 
			
		||||
                        // use module.exports which breaks if babel injects an 'include' for its
 | 
			
		||||
                        // polyfills: probably fixable but babeling all our dependencies is probably
 | 
			
		||||
                        // not necessary anyway).
 | 
			
		||||
                        if (f.startsWith(path.resolve(__dirname, 'node_modules'))) return false;
 | 
			
		||||
                        // anything else gets babeled (our own source files, and also modules that
 | 
			
		||||
                        // are yarn linked from somewhere else because this tests the absolute,
 | 
			
		||||
                        // resolved path, so react-sdk and js-sdk fall under this case in a standard
 | 
			
		||||
                        // dev setup. This will presumably start running any other module through
 | 
			
		||||
                        // babel if yarn linked... caveat emptor.
 | 
			
		||||
                        return true;
 | 
			
		||||
                        // not necessary anyway). So, for anything else, don't babel.
 | 
			
		||||
                        return false;
 | 
			
		||||
                    },
 | 
			
		||||
                    loader: 'babel-loader',
 | 
			
		||||
                    options: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue