Skip to content

Conversation

@dhorkin
Copy link

@dhorkin dhorkin commented Nov 1, 2022

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.

  • the resolved variable in app-root-path's resolve.js is resolving to '/my/path/to/project/.esbuild/.build/src'
  • the appRootPath is being returned as '/my/path/to/project/node_modules/serverless-offline/src/lambda/handler-runner/worker-thread-runner'
    • looks like appRootPath is being set for me in the else at the bottom: appRootPath = path.dirname(process.argv[1]);
  • and what I want would be /my/path/to/project/

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;
};

@dhorkin
Copy link
Author

dhorkin commented May 17, 2023

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant