HEX
Server: Apache/2.4.65 (Debian)
System: Linux 88f31f35b0b8 6.1.0-38-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.147-1 (2025-08-02) x86_64
User: www-data (33)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/advanced-ads-tracking/webpack.config.js
/**
 * External Dependencies
 */
const path = require( 'path' );
const defaultConfig = require( '@wordpress/scripts/config/webpack.config' );
const { getWebpackEntryPoints } = require( '@wordpress/scripts/utils/config' );

const isProduction = process.env.NODE_ENV === 'production';

if ( ! isProduction ) {
	defaultConfig.devServer.allowedHosts = 'all';
}

const basePath = path.resolve( __dirname, 'src' );

module.exports = {
	...defaultConfig,
	externals: {
		...defaultConfig.externals,
		window: 'window',
		jquery: 'jQuery',
		'@tracking/utils': 'advancedAds.tracking.utils',
	},
	entry: {
		...getWebpackEntryPoints(),
		// CSS
		admin: path.join( basePath, '/scss/admin/admin.js' ),
		settings: path.join( basePath, '/scss/settings.js' ),
		'filesystem-form': path.join( basePath, '/scss/filesystem-form.js' ),

		// JavaScript
		// Backend
		'wp-dashboard': path.join(
			basePath,
			'/js/admin/wp-dashboard/index.js'
		),
		'screen-ads-listing': path.join(
			basePath,
			'/js/admin/screen-ads-listing/index.js'
		),

		// Frontend
		tracking: path.join( basePath, '/js/frontend/tracking.js' ),
		'ga-tracking': path.join( basePath, '/js/frontend/ga-tracking.js' ),
		'public-stats': path.join( basePath, '/js/frontend/public-stats.js' ),
		delayed: path.join( basePath, '/js/frontend/delayed.js' ),
	},
	output: {
		filename: '[name].js', // Dynamically generate output file names
		path: path.resolve( __dirname, 'assets/dist' ),
	},
};