/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ import type { Metafile, PartialMessage } from 'esbuild'; /** * Checks the input files of a build to determine if any of the files included * in the build are not ESM. ESM files can be tree-shaken and otherwise optimized * in ways that CommonJS and other module formats cannot. The esbuild metafile * information is used as the basis for the analysis as it contains information * for each input file including its respective format. * * If any allowed dependencies are provided via the `allowedCommonJsDependencies` * parameter, both the direct import and any deep imports will be ignored and no * diagnostic will be generated. Use `'*'` as entry to skip the check. * * If a module has been issued a diagnostic message, then all descendant modules * will not be checked. This prevents a potential massive amount of inactionable * messages since the initial module import is the cause of the problem. * * @param metafile An esbuild metafile object to check. * @param allowedCommonJsDependencies An optional list of allowed dependencies. * @returns Zero or more diagnostic messages for any non-ESM modules. */ export declare function checkCommonJSModules(metafile: Metafile, allowedCommonJsDependencies?: string[]): PartialMessage[];