Webpack добавляет не нужный файл в общий chunk
Всем привет, у меня есть проект React + Typescript + react-app-rewired
У проекта есть дополнительная папка SDK в которой хранятся файлы .js, .wasm, .simd.wasm, .data Файл SDK/sdk.js уже оптимизированный и минифицированный.
В компоненте я могу использовать импорт
import {Foo} from '../public/SDK/sdk.js';
Но бандлер закидывает SDK/sdk.js в чанк (3.[hash].chunk.js). Нужно сделать так, чтобы бандлер вообще не трогал папку SDK и просто положил его рядом в папку build. Потому что при yarn build и запуске этой папки, приложение ломается, жалуясь на n.setVolume is not a function
Ожидаемое поеведение
- build
- sdk (Не тронутые файлы)
- static (только чанки нужные для работы реакта)
- ...другие
Текущее поведение
- build
- sdk (Не тронутые файлы)
- static (реакт чанки в перемешку с переоптимизированным и переминифицированным js из SDK/sdk.js)
- ...другие
tsconfig.json
{
"compilerOptions": {
"target": "ES2018",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"baseUrl": "./src",
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"strictNullChecks": true,
"noImplicitAny": true,
"strictPropertyInitialization": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "ESNext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"importHelpers": true,
"noEmit": true,
"jsx": "react-jsx",
"outDir": "build",
},
"include": [
"src",
],
"exclude": ["node_modules", "public/sdk", "build", "public/**/*.js", "src/**/*.js"],
}
config-overrides.js
const { removeModuleScopePlugin } = require('customize-cra');
module.exports = removeModuleScopePlugin();