All files config.ts

0% Statements 0/46
100% Branches 1/1
100% Functions 1/1
0% Lines 0/46

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50                                                                                                   
import type { RspackOptionsNormalized } from '@rspack/core';
import type { ParsedModuleLinkPluginOptions } from './types';
 
export function initConfig(
    options: RspackOptionsNormalized,
    opts: ParsedModuleLinkPluginOptions
) {
    const isProduction = options.mode === 'production';
    options.experiments = {
        ...options.experiments,
        outputModule: true,
        rspackFuture: {
            bundlerInfo: { force: false }
        }
    };
    options.module = {
        ...options.module,
        parser: {
            ...options.module?.parser,
            javascript: {
                ...options.module?.parser?.javascript,
                importMeta: false,
                strictExportPresence: true
            }
        }
    };
    options.output = {
        ...options.output,
        iife: false,
        uniqueName: opts.name,
        chunkFormat: isProduction ? 'module' : 'array-push',
        module: true,
        library: {
            type: isProduction ? 'modern-module' : 'module'
        },
        environment: {
            ...options.output.environment,
            dynamicImport: true,
            dynamicImportInWorker: true,
            module: true
        }
    };
    options.optimization = {
        ...options.optimization,
        avoidEntryIife: isProduction,
        concatenateModules: isProduction,
        usedExports: isProduction
    };
}