allow side-effects at module level in src/ dir

otherwise things like src/observable/index.js break
This commit is contained in:
Bruno Windels 2021-06-02 13:12:12 +02:00
parent d9de28b2e7
commit d5e8481e22

View File

@ -46,6 +46,8 @@ const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename); const __dirname = dirname(__filename);
const projectDir = path.join(__dirname, "../"); const projectDir = path.join(__dirname, "../");
const cssSrcDir = path.join(projectDir, "src/platform/web/ui/css/"); const cssSrcDir = path.join(projectDir, "src/platform/web/ui/css/");
const srcDir = path.join(projectDir, "src/");
const isPathInSrcDir = path => path.startsWith(srcDir);
const parameters = new commander.Command(); const parameters = new commander.Command();
parameters parameters
@ -192,7 +194,7 @@ async function buildJs(mainFile, extraFiles, importOverrides) {
} }
const bundle = await rollup({ const bundle = await rollup({
// for fake-indexeddb, so usage for tests only doesn't put it in bundle // for fake-indexeddb, so usage for tests only doesn't put it in bundle
treeshake: {moduleSideEffects: false}, treeshake: {moduleSideEffects: isPathInSrcDir},
input: extraFiles.concat(mainFile), input: extraFiles.concat(mainFile),
plugins plugins
}); });
@ -233,7 +235,7 @@ async function buildJsLegacy(mainFile, extraFiles, importOverrides) {
// create js bundle // create js bundle
const rollupConfig = { const rollupConfig = {
// for fake-indexeddb, so usage for tests only doesn't put it in bundle // for fake-indexeddb, so usage for tests only doesn't put it in bundle
treeshake: {moduleSideEffects: false}, treeshake: {moduleSideEffects: isPathInSrcDir},
// important the extraFiles come first, // important the extraFiles come first,
// so polyfills are available in the global scope // so polyfills are available in the global scope
// if needed for the mainfile // if needed for the mainfile