mirror of
				https://github.com/Xahau/xahau.js.git
				synced 2025-11-04 04:55:48 +00:00 
			
		
		
		
	- Removes need for bundlers to polyfill the `Buffer` class. `UInt8Array` are used instead which are native to the browser and node. - Reduces bundle size 7.1kb gzipped and eliminates 4 runtime dependencies: `base-x`, `base64-js`, `buffer`, and `ieee754`. BREAKING CHANGE: All methods that previously took a `Buffer` now accept a `UInt8Array`. --------- Co-authored-by: Jackson Mills <jmills@ripple.com>
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
const assert = require("assert");
 | 
						|
const path = require("path");
 | 
						|
const webpack = require("webpack");
 | 
						|
 | 
						|
function webpackForTest(testFileName, basePath) {
 | 
						|
  const match = testFileName.match(/\/?([^\/]*)\.ts$/);
 | 
						|
  if (!match) {
 | 
						|
    assert(false, "wrong filename:" + testFileName);
 | 
						|
  }
 | 
						|
 | 
						|
  return {
 | 
						|
    mode: "production",
 | 
						|
    cache: true,
 | 
						|
    entry: testFileName,
 | 
						|
    output: {
 | 
						|
      library: match[1].replace(/-/g, "_"),
 | 
						|
      path: path.join(basePath, "./testCompiledForWeb/"),
 | 
						|
      filename: match[1] + ".js",
 | 
						|
    },
 | 
						|
    plugins: [
 | 
						|
      new webpack.DefinePlugin({
 | 
						|
        "process.stdout": {},
 | 
						|
      }),
 | 
						|
      new webpack.ProvidePlugin({ process: "process/browser" }),
 | 
						|
    ],
 | 
						|
    module: {
 | 
						|
      rules: [
 | 
						|
        // Compile compile the tests
 | 
						|
        {
 | 
						|
          test: /\.ts$/,
 | 
						|
          use: [
 | 
						|
            {
 | 
						|
              loader: "ts-loader",
 | 
						|
              options: {
 | 
						|
                compilerOptions: {
 | 
						|
                  lib: ["esnext", "dom"],
 | 
						|
                  composite: false,
 | 
						|
                  declaration: false,
 | 
						|
                  declarationMap: false,
 | 
						|
                },
 | 
						|
              },
 | 
						|
            },
 | 
						|
          ],
 | 
						|
        },
 | 
						|
      ],
 | 
						|
    },
 | 
						|
    node: {
 | 
						|
      global: true,
 | 
						|
      __filename: false,
 | 
						|
      __dirname: true,
 | 
						|
    },
 | 
						|
    resolve: {
 | 
						|
      extensions: [".ts", ".js", ".json"],
 | 
						|
    },
 | 
						|
  };
 | 
						|
}
 | 
						|
 | 
						|
module.exports = {
 | 
						|
  webpackForTest,
 | 
						|
};
 |