From 5b509cca0ffd1ac7ad9f1199f87f4dd5375c0038 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Mon, 15 Jan 2024 14:53:49 -0500 Subject: [PATCH] Add side effects --- js/gulp/package-task.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/js/gulp/package-task.js b/js/gulp/package-task.js index 9bc002e664885..45cd213450384 100644 --- a/js/gulp/package-task.js +++ b/js/gulp/package-task.js @@ -38,6 +38,11 @@ export const packageTask = ((cache) => memoizeTask(cache, function bundle(target export default packageTask; +const sideEffects = (ext) => [ + `./Arrow.dom.${ext ?? '*'}`, + `./Arrow.node.${ext ?? '*'}`, +]; + const createMainPackageJson = (target, format) => (orig) => ({ ...createTypeScriptPackageJson(target, format)(orig), bin: orig.bin, @@ -84,7 +89,7 @@ const createMainPackageJson = (target, format) => (orig) => ({ }, }, }, - sideEffects: false, + sideEffects: sideEffects('*'), esm: { mode: `all`, sourceMap: true } }); @@ -96,7 +101,7 @@ const createTypeScriptPackageJson = (target, format) => (orig) => ({ types: `${mainExport}.node.ts`, browser: `${mainExport}.dom.ts`, type: 'module', - sideEffects: false, + sideEffects: sideEffects('ts'), esm: { mode: `auto`, sourceMap: true }, dependencies: { '@types/node': '*', @@ -124,7 +129,7 @@ const createScopedPackageJSON = (target, format) => (({ name, ...orig }) => // set "module" if building scoped ESM target module: format === 'esm' ? `${mainExport}.node.js` : undefined, // set "sideEffects" to false as a hint to Webpack that it's safe to tree-shake the ESM target - sideEffects: format === 'esm' ? false : undefined, + sideEffects: format === 'esm' ? sideEffects('mjs') : undefined, // include "esm" settings for https://www.npmjs.com/package/esm if building scoped ESM target esm: format === `esm` ? { mode: `auto`, sourceMap: true } : undefined, // set "types" (for TypeScript/VSCode)