diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/config.json b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/config.json new file mode 100644 index 000000000..dadd9288d --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/config.json @@ -0,0 +1,14 @@ +{ + "config": { + "entry": [ + { + "import": "input/index.js", + "name": "main" + } + ], + "optimization": { + "minify": false, + "moduleIds": "named" + } + } +} diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/index.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/index.js new file mode 100644 index 000000000..ae8ae6f8c --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/index.js @@ -0,0 +1,3 @@ +import { Path } from './shape/index.js'; + +console.log(new Path().kind()); diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/base.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/base.js new file mode 100644 index 000000000..393296ad8 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/base.js @@ -0,0 +1,12 @@ +import * as Shape from './index.js'; +import { refreshElement } from '../util/draw.js'; + +export default class Base { + getShapeBase() { + return Shape; + } + + refresh() { + refreshElement(this); + } +} diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/index.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/index.js new file mode 100644 index 000000000..e9e318328 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/index.js @@ -0,0 +1,2 @@ +export { default as Base } from './base.js'; +export { default as Path } from './path.js'; diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/path.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/path.js new file mode 100644 index 000000000..bed586b76 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/shape/path.js @@ -0,0 +1,7 @@ +import Base from './base.js'; + +export default class Path extends Base { + kind() { + return 'Path'; + } +} diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/util/arrow.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/util/arrow.js new file mode 100644 index 000000000..d743b06c9 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/util/arrow.js @@ -0,0 +1,5 @@ +import { Path } from '../shape/index.js'; + +export function getArrowShape(element) { + return new Path(element).kind(); +} diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/util/draw.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/util/draw.js new file mode 100644 index 000000000..34e4a4fad --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/input/util/draw.js @@ -0,0 +1,5 @@ +import * as ArrowUtil from './arrow.js'; + +export function refreshElement(element) { + return ArrowUtil.getArrowShape(element); +} diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/input_c08dd8d9.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/input_c08dd8d9.js new file mode 100644 index 000000000..df93e5ed9 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/input_c08dd8d9.js @@ -0,0 +1,95 @@ +(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined, +"[project]/circular_dependency/reexport_cycle_barrel/input/util/arrow.js [client] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getArrowShape", + ()=>getArrowShape +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$index$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js [client] (ecmascript)"); +; +function getArrowShape(element) { + return new __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$index$2e$js__$5b$client$5d$__$28$ecmascript$29$__["Path"](element).kind(); +} +}), +"[project]/circular_dependency/reexport_cycle_barrel/input/util/draw.js [client] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "refreshElement", + ()=>refreshElement +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$util$2f$arrow$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/util/arrow.js [client] (ecmascript)"); +; +function refreshElement(element) { + return __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$util$2f$arrow$2e$js__$5b$client$5d$__$28$ecmascript$29$__["getArrowShape"](element); +} +}), +"[project]/circular_dependency/reexport_cycle_barrel/input/shape/base.js [client] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>Base +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$index$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js [client] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$util$2f$draw$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/util/draw.js [client] (ecmascript)"); +; +; +class Base { + getShapeBase() { + return __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$index$2e$js__$5b$client$5d$__$28$ecmascript$29$__; + } + refresh() { + (0, __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$util$2f$draw$2e$js__$5b$client$5d$__$28$ecmascript$29$__["refreshElement"])(this); + } +} +}), +"[project]/circular_dependency/reexport_cycle_barrel/input/shape/path.js [client] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>Path +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$base$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/base.js [client] (ecmascript)"); +; +class Path extends __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$base$2e$js__$5b$client$5d$__$28$ecmascript$29$__["default"] { + kind() { + return 'Path'; + } +} +}), +"[project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js [client] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([]); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$base$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/base.js [client] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$path$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/path.js [client] (ecmascript)"); +; +; +}), +"[project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js [client] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Base", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$base$2e$js__$5b$client$5d$__$28$ecmascript$29$__["default"], + "Path", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$path$2e$js__$5b$client$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$index$2e$js__$5b$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js [client] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$base$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/base.js [client] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$path$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/path.js [client] (ecmascript)"); +}), +"[project]/circular_dependency/reexport_cycle_barrel/input/index.js [client] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +var __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$index$2e$js__$5b$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js [client] (ecmascript)"); +; +console.log(new __TURBOPACK__imported__module__$5b$project$5d2f$circular_dependency$2f$reexport_cycle_barrel$2f$input$2f$shape$2f$index$2e$js__$5b$client$5d$__$28$ecmascript$29$__["Path"]().kind()); +__turbopack_context__.s([]); +}), +]); + +//# sourceMappingURL=input_c08dd8d9.js.map \ No newline at end of file diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/input_c08dd8d9.js.map b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/input_c08dd8d9.js.map new file mode 100644 index 000000000..2314684cc --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/input_c08dd8d9.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 4, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/circular_dependency/reexport_cycle_barrel/input/util/arrow.js"],"sourcesContent":["import { Path } from '../shape/index.js';\n\nexport function getArrowShape(element) {\n return new Path(element).kind();\n}\n"],"names":["getArrowShape","element","kind"],"mappings":";;;;AAAA;;AAEO,SAASA,cAAcC,OAAO;IACnC,OAAO,IAAI,2KAAI,CAACA,SAASC,IAAI;AAC/B"}}, + {"offset": {"line": 17, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/circular_dependency/reexport_cycle_barrel/input/util/draw.js"],"sourcesContent":["import * as ArrowUtil from './arrow.js';\n\nexport function refreshElement(element) {\n return ArrowUtil.getArrowShape(element);\n}\n"],"names":["refreshElement","element"],"mappings":";;;;AAAA;;AAEO,SAASA,eAAeC,OAAO;IACpC,OAAO,mLAAuB,CAACA;AACjC"}}, + {"offset": {"line": 30, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/circular_dependency/reexport_cycle_barrel/input/shape/base.js"],"sourcesContent":["import * as Shape from './index.js';\nimport { refreshElement } from '../util/draw.js';\n\nexport default class Base {\n getShapeBase() {\n return Shape;\n }\n\n refresh() {\n refreshElement(this);\n }\n}\n"],"names":["Base","getShapeBase","imported module [project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js [client] (ecmascript)","refresh"],"mappings":";;;;AAAA;AACA;;;AAEe,MAAMA;IACnBC,eAAe;QACb,OAAOC;IACT;IAEAC,UAAU;QACR,IAAA,mLAAc,EAAC,IAAI;IACrB;AACF"}}, + {"offset": {"line": 50, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/circular_dependency/reexport_cycle_barrel/input/shape/path.js"],"sourcesContent":["import Base from './base.js';\n\nexport default class Path extends Base {\n kind() {\n return 'Path';\n }\n}\n"],"names":["Path","kind"],"mappings":";;;;AAAA;;AAEe,MAAMA,aAAa,6KAAI;IACpCC,OAAO;QACL,OAAO;IACT;AACF"}}, + {"offset": {"line": 65, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/circular_dependency/reexport_cycle_barrel/input/shape/index.js"],"sourcesContent":["export { default as Base } from './base.js';\nexport { default as Path } from './path.js';\n"],"names":[],"mappings":";AAAA;AACA"}}, + {"offset": {"line": 87, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/circular_dependency/reexport_cycle_barrel/input/index.js"],"sourcesContent":["import { Path } from './shape/index.js';\n\nconsole.log(new Path().kind());\n"],"names":["console","log","kind"],"mappings":"AAAA;;AAEAA,QAAQC,GAAG,CAAC,IAAI,2KAAI,GAAGC,IAAI"}}] +} \ No newline at end of file diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/main.js b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/main.js new file mode 100644 index 000000000..67c6806e4 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/main.js @@ -0,0 +1,5 @@ +(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([ + typeof document === "object" ? document.currentScript : undefined, + {"otherChunks":["input_c08dd8d9.js"],"runtimeModuleIds":["[project]/circular_dependency/reexport_cycle_barrel/input/index.js [client] (ecmascript)"]} +]); +// Dummy runtime \ No newline at end of file diff --git a/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/main.js.map b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/main.js.map new file mode 100644 index 000000000..c15d7ec00 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/circular_dependency/reexport_cycle_barrel/output/main.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/config.json b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/config.json new file mode 100644 index 000000000..d8a674404 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/config.json @@ -0,0 +1,15 @@ +{ + "config": { + "entry": [ + { + "import": "input/index.js", + "name": "main" + } + ], + "optimization": { + "moduleIds": "named", + "minify": false, + "concatenateModules": true + } + } +} diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/component.js b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/component.js new file mode 100644 index 000000000..e0cd44e95 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/component.js @@ -0,0 +1,12 @@ +// Regression for a production tree-shaking bug where imports from a +// sideEffects-free barrel re-export were dropped while local uses remained. +import { select, visibility } from 'pkg'; + +export function renderTicks(node) { + return select(node).append('tick').name; +} + +export function applyVisibility(node) { + visibility(node, true); + return node.visible; +} diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/index.js b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/index.js new file mode 100644 index 000000000..cd2f00b99 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/index.js @@ -0,0 +1,5 @@ +import { applyVisibility, renderTicks } from './component'; + +const node = { children: [], visible: false }; + +console.log(renderTicks(node), applyVisibility(node)); diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/index.js b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/index.js new file mode 100644 index 000000000..7fbb16841 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/index.js @@ -0,0 +1,2 @@ +export * from './selection'; +export * from './visibility'; diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/package.json b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/package.json new file mode 100644 index 000000000..cb7c7f88d --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/package.json @@ -0,0 +1,4 @@ +{ + "name": "pkg", + "sideEffects": false +} diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/selection.js b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/selection.js new file mode 100644 index 000000000..b658dca2b --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/selection.js @@ -0,0 +1,9 @@ +export function select(node) { + return { + append(name) { + const child = { name }; + node.children.push(child); + return child; + }, + }; +} diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/visibility.js b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/visibility.js new file mode 100644 index 000000000..d0b22d31b --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/visibility.js @@ -0,0 +1,3 @@ +export function visibility(node, visible) { + node.visible = visible; +} diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/input_index_9fa2ebb7.js b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/input_index_9fa2ebb7.js new file mode 100644 index 000000000..9b178a67b --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/input_index_9fa2ebb7.js @@ -0,0 +1,45 @@ +(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined, +"[project]/optimization/remove_unused_imports_reexport_runtime_use/input/index.js [client] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +// MERGED MODULE: [project]/optimization/remove_unused_imports_reexport_runtime_use/input/index.js [client] (ecmascript) +; +// MERGED MODULE: [project]/optimization/remove_unused_imports_reexport_runtime_use/input/component.js [client] (ecmascript) +; +// MERGED MODULE: [project]/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/selection.js [client] (ecmascript) +; +function select(node) { + return { + append (name) { + const child = { + name + }; + node.children.push(child); + return child; + } + }; +} +// MERGED MODULE: [project]/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/visibility.js [client] (ecmascript) +; +function visibility(node, visible) { + node.visible = visible; +} +; +function renderTicks(node) { + return select(node).append('tick').name; +} +function applyVisibility(node) { + visibility(node, true); + return node.visible; +} +; +const node = { + children: [], + visible: false +}; +console.log(renderTicks(node), applyVisibility(node)); +__turbopack_context__.s([], "[project]/optimization/remove_unused_imports_reexport_runtime_use/input/index.js [client] (ecmascript)"); +}), +]); + +//# sourceMappingURL=input_index_9fa2ebb7.js.map \ No newline at end of file diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/input_index_9fa2ebb7.js.map b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/input_index_9fa2ebb7.js.map new file mode 100644 index 000000000..f318c1daf --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/input_index_9fa2ebb7.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 4, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/selection.js","turbopack:///[project]/optimization/remove_unused_imports_reexport_runtime_use/input/node_modules/pkg/visibility.js","turbopack:///[project]/optimization/remove_unused_imports_reexport_runtime_use/input/component.js","turbopack:///[project]/optimization/remove_unused_imports_reexport_runtime_use/input/index.js"],"sourcesContent":["export function select(node) {\n return {\n append(name) {\n const child = { name };\n node.children.push(child);\n return child;\n },\n };\n}\n","export function visibility(node, visible) {\n node.visible = visible;\n}\n","// Regression for a production tree-shaking bug where imports from a\n// sideEffects-free barrel re-export were dropped while local uses remained.\nimport { select, visibility } from 'pkg';\n\nexport function renderTicks(node) {\n return select(node).append('tick').name;\n}\n\nexport function applyVisibility(node) {\n visibility(node, true);\n return node.visible;\n}\n","import { applyVisibility, renderTicks } from './component';\n\nconst node = { children: [], visible: false };\n\nconsole.log(renderTicks(node), applyVisibility(node));\n"],"names":["select","node","append","name","child","children","push"],"mappings":";;;;;;AAAO,SAASA,OAAOC,IAAI;IACzB,OAAO;QACLC,QAAOC,IAAI;YACT,MAAMC,QAAQ;gBAAED;YAAK;YACrBF,KAAKI,QAAQ,CAACC,IAAI,CAACF;YACnB,OAAOA;QACT;IACF;AACF;;;ACRO,SAASJ,WAAW,IAAI,EAAE,OAAO;IACtCE,KAAK,OAAO,GAAG;AACjB;;ACEO,SAAS,YAAY,IAAI;IAC9B,OAAO,OAAO,MAAM,MAAM,CAAC,QAAQ,IAAI;AACzC;AAEO,SAAS,gBAAgB,IAAI;IAClC,WAAW,MAAM;IACjB,OAAO,KAAK,OAAO;AACrB;;ACTA,MAAM,OAAO;IAAE,UAAU,EAAE;IAAE,SAAS;AAAM;AAE5C,QAAQ,GAAG,CAAC,YAAY,OAAO,gBAAgB","ignoreList":[0,1]}}] +} \ No newline at end of file diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/main.js b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/main.js new file mode 100644 index 000000000..baba7afe8 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/main.js @@ -0,0 +1,5 @@ +(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([ + typeof document === "object" ? document.currentScript : undefined, + {"otherChunks":["input_index_9fa2ebb7.js"],"runtimeModuleIds":["[project]/optimization/remove_unused_imports_reexport_runtime_use/input/index.js [client] (ecmascript)"]} +]); +// Dummy runtime \ No newline at end of file diff --git a/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/main.js.map b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/main.js.map new file mode 100644 index 000000000..c15d7ec00 --- /dev/null +++ b/crates/pack-tests/tests/snapshot/optimization/remove_unused_imports_reexport_runtime_use/output/main.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file