mirror of
https://github.com/marcogll/passkit-generator.git
synced 2026-03-15 15:25:20 +00:00
70 lines
1.5 KiB
JavaScript
70 lines
1.5 KiB
JavaScript
import path from "path";
|
|
import { fileURLToPath } from "url";
|
|
import { createRequire } from "module";
|
|
import webpack from "webpack";
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
/**
|
|
* @see https://developers.cloudflare.com/workers/cli-wrangler/webpack
|
|
*/
|
|
|
|
export default {
|
|
context: __dirname,
|
|
entry: "./src/index.ts",
|
|
target: "webworker",
|
|
|
|
/**
|
|
* "development" mode does not support the usage of eval
|
|
* If you want to run in dev mode and not use eval, add
|
|
* to the configuration:
|
|
*
|
|
* ```
|
|
* devtool: "inline-source-map",
|
|
* ```
|
|
*
|
|
* @see https://github.com/cloudflare/wrangler/issues/1268
|
|
*/
|
|
|
|
mode: "production",
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: "ts-loader",
|
|
exclude: /node_modules/,
|
|
},
|
|
{
|
|
test: /\.png/,
|
|
type: "asset/inline",
|
|
},
|
|
],
|
|
},
|
|
resolve: {
|
|
extensions: [".ts", ".js", ".png"],
|
|
fallback: {
|
|
fs: false /* Do not include a polyfill for fs */,
|
|
stream: require.resolve("stream-browserify"),
|
|
buffer: require.resolve("buffer/"),
|
|
os: require.resolve("os-browserify/browser"),
|
|
path: require.resolve("path-browserify"),
|
|
},
|
|
},
|
|
output: {
|
|
filename: "worker.js" /** This name is required */,
|
|
path: path.resolve(__dirname, "dist"),
|
|
},
|
|
|
|
/**
|
|
* This is required because some passkit-generator dependencies
|
|
* use Buffer on global instead of importing it explictly
|
|
*/
|
|
|
|
plugins: [
|
|
new webpack.ProvidePlugin({
|
|
Buffer: ["buffer", "Buffer"],
|
|
}),
|
|
],
|
|
};
|