Skip to content

Commit

Permalink
fix(bug): don't treeshake module declarations
Browse files Browse the repository at this point in the history
  • Loading branch information
wessberg committed Feb 26, 2019
1 parent 929fdc6 commit a022c5d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {forEachChild, isExportAssignment, isExportDeclaration, isExportSpecifier, isIdentifier, Node} from "typescript";
import {forEachChild, isExportAssignment, isExportDeclaration, isExportSpecifier, isIdentifier, isModuleDeclaration, Node} from "typescript";
import {IsReferencedOptions} from "./is-referenced-options";
import {nodeContainsChild} from "../../util/node-contains-child";
import {getIdentifiersForNode} from "../../util/get-identifiers-for-node";
Expand Down Expand Up @@ -41,7 +41,7 @@ function visitNode(currentNode: Node, options: ReferenceVisitorOptions): void {
*/
export function isReferenced<T extends Node>({seenNodes = new Set(), ...options}: IsReferencedOptions<T>): boolean {
// Exports are always referenced and should never be removed
if (isExportDeclaration(options.node) || isExportSpecifier(options.node) || isExportAssignment(options.node) || hasExportModifier(options.node)) return true;
if (isExportDeclaration(options.node) || isExportSpecifier(options.node) || isExportAssignment(options.node) || hasExportModifier(options.node) || isModuleDeclaration(options.node)) return true;

// If it has been computed previously, use the cached result
if (options.cache.hasReferencesCache.has(options.node)) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import {
Node,
isClassDeclaration,
isEnumDeclaration,
isExportAssignment,
isExportDeclaration,
isFunctionDeclaration,
isInterfaceDeclaration,
isModuleDeclaration,
isTypeAliasDeclaration,
isVariableStatement
isVariableStatement,
Node
} from "typescript";

/**
Expand All @@ -20,6 +21,7 @@ export function isAmbientModuleRootLevelNode(node: Node): boolean {
isExportDeclaration(node) ||
isExportAssignment(node) ||
isInterfaceDeclaration(node) ||
isModuleDeclaration(node) ||
isEnumDeclaration(node) ||
isClassDeclaration(node) ||
isTypeAliasDeclaration(node) ||
Expand Down

0 comments on commit a022c5d

Please sign in to comment.