From 2b6dc73fd733e0108eef5eb32ee32b0e80e7c4f5 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Tue, 11 May 2021 14:35:28 +0200
Subject: [PATCH] Simplify getPackagePath() to use the builtin node package
 resolver only

Instead of going through the rollup plugin. Turns out the rollup plugin
api shouldn't be used outside of rollup.

Ideally this should give us the same path resolution anyway, even though it's
potentially a different implementation.
---
 rollup.utils.js | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/rollup.utils.js b/rollup.utils.js
index 909af52c..4097769c 100644
--- a/rollup.utils.js
+++ b/rollup.utils.js
@@ -2,7 +2,6 @@ import path from 'path';
 import url from 'url';
 import fs from 'fs';
 import child_process from 'child_process';
-import resolve from '@rollup/plugin-node-resolve';
 import selfsigned from 'selfsigned';
 import findCacheDir from 'find-cache-dir';
 
@@ -31,24 +30,14 @@ export async function getDistPath(packageName, assetPath) {
 }
 
 export async function getPackagePath(packageName, assetPath) {
-    const r = resolve();
-    // XXX: https://gitlab.tugraz.at/dbp/web-components/toolkit/-/issues/57
-    r.resolve = () => { return null; };
-    const resolved = await r.resolveId(packageName);
     let packageRoot;
-    if (resolved !== null) {
-        const id = (await r.resolveId(packageName)).id;
-        const packageInfo = r.getPackageInfoForId(id);
-        packageRoot = packageInfo.root;
+    let current = require.resolve('./package.json');
+    if (require(current).name === packageName) {
+        // current package
+        packageRoot = path.dirname(current);
     } else {
-        let current = require.resolve('./package.json');
-        if (require(current).name === packageName) {
-            // current package
-            packageRoot = path.dirname(current);
-        } else {
-            // Non JS packages
-            packageRoot = path.dirname(require.resolve(packageName + '/package.json'));
-        }
+        // Other packages from nodes_modules etc.
+        packageRoot = path.dirname(require.resolve(packageName + '/package.json'));
     }
     return path.relative(process.cwd(), path.join(packageRoot, assetPath));
 }
-- 
GitLab