vercel / ncc

Compile a Node.js project into a single file. Supports TypeScript, binary addons, dynamic requires.
https://npmjs.com/@vercel/ncc
MIT License
9.15k stars 287 forks source link

AssetBuilds repeatedly packages the same resources #1186

Open tocha688 opened 5 months ago

tocha688 commented 5 months ago

When using assetBuilds, when multiple JSs in the dynamically loaded JS directory contain the same resource, it will output multiple identical resources.

NCC(buildMain, {
        // provide a custom cache path or disable caching
        cache: false,
        // externals to leave as requires of the build
        externals: ["node_modules"],
        // directory outside of which never to emit assets
        filterAssetBase: process.cwd(), // default
        minify: true, // default
        sourceMap: false, // default
        assetBuilds: true, // default
        sourceMapBasePrefix: '../', // default treats sources as output-relative
        // when outputting a sourcemap, automatically include
        // source-map-support in the output file (increases output by 32kB).
        sourceMapRegister: false, // default
        watch: false, // default
        license: '', // default does not generate a license file
        v8cache: false, // default
        quiet: false, // default
        debugLog: false // default
    })

image

I only have one 'schema.prisma' file, but it has packaged a lot of identical files