inxilpro / node-app-root-path

Determine the root path to your project
MIT License
605 stars 29 forks source link

[fix] add support for esbuild #55

Open FFdhorkin opened 1 year ago

FFdhorkin commented 1 year ago

This may be related to #49 , but given the original ticket was not about esbuild, this is more related to one of the replies there.

I'm using serverless-esbuild / serverless-offline to run my code.

By changing getFirstPartFromNodeModules to getFirstPart and having it look for either node_modules or esbuild, it seems to solve this issue for me.

I thought about doing something like the following, if it would be preferred:

const getFirstPart = function (resolved) {
    const foldersToSplitOn = [
        'node_modules',
        '.esbuild'
    ].map(folder => sep + folder);

    const dirRegEx = new RegExp(foldersToSplitOn.join('|'));

    if (foldersToSplitOn.some(folder => -1 !== resolved.indexOf(folder))) {
        const parts = resolved.split(dirRegEx);
        if (parts.length) {
            return parts[0];
        }
    }

    return null;
};
FFdhorkin commented 1 year ago

@inxilpro I know the readme says " Expect long stretches of zero updates—that does not mean that the module is outdated," but I believe this PR is still needed. It's been hanging out over 6 months now with no response, and it isn't long.