From 47b1d996d6bac82cc98582a55d752b435a25cfc8 Mon Sep 17 00:00:00 2001 From: Scarlet Rose <70824102+scarletquasar@users.noreply.github.com> Date: Mon, 17 Jul 2023 18:39:16 -0300 Subject: [PATCH 1/2] fix: ignore aliases starting with @ to avoid data loss --- index.js | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 42ff271..d5b8533 100755 --- a/index.js +++ b/index.js @@ -1,14 +1,36 @@ #!/usr/bin/env node // Author: Damian "Rush" Kaczmarek +function getHandledAliases(moduleAliases) { + const aliases = Object.keys(moduleAliases); + + aliases.forEach(alias => { + if (alias.startsWith("@")) { + console.warn( + chalk.yellow(` + WARNING! Ignoring module ${alias} due to @ in front of it. + Check the issue: https://github.com/Rush/link-module-alias/issues/3 + for more information. + `) + ); + } + }); + + const safeAliases = aliases.filter(alias => !alias.startsWith("@")); + const safeModules = {}; + + safeAliases.forEach(alias => safeModules[alias] = aliases[alias]); +} + const fs = require('fs'); const path = require('path'); const packageJson = require('./package.json'); -const moduleAliases = packageJson._moduleAliases; +const moduleAliases = getHandledAliases(packageJson._moduleAliases); + if(!moduleAliases) { - console.error(`_moduleAliases in package.json is empty, skipping`); + console.error(`No valid aliases found, skipping`); process.exit(0); } From 540aafafabeba5828b43c4c20c9c1a8c03c105e2 Mon Sep 17 00:00:00 2001 From: Scarlet Rose <70824102+scarletquasar@users.noreply.github.com> Date: Mon, 17 Jul 2023 18:42:40 -0300 Subject: [PATCH 2/2] chore: added safeModules return to avoid no aliases being loaded --- index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/index.js b/index.js index d5b8533..9a81ceb 100755 --- a/index.js +++ b/index.js @@ -20,6 +20,7 @@ function getHandledAliases(moduleAliases) { const safeModules = {}; safeAliases.forEach(alias => safeModules[alias] = aliases[alias]); + return safeModules; } const fs = require('fs');