You should be able to simply change the RewriteRule to include the sub-folder:
Options -MultiViews
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /subfolder-app/index.php [L]
Note, however, that this won't "dyamically" change with your environment. If your localhost is running with Laravel in the webroot instead of a sub-folder, making this change to your htaccess file could make it no longer work in your localhost dev environment.
One solution to this is to not use an .htaccess file, but rather include the rewrite rule in the virtual host configuration file for your domain. The ability to do so will depend on your hosting.
That solution also has the benefit of removing what is a server-configuration (rather than an application configuration) out of our your application code repository
EDIT
Here's the final resolution the OP used, as it's not exactly what I suggested:
Options -MultiViews
RewriteEngine On
# Rewrite to "www" version
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Add -d check to ensure only rewrite if url
# is not an existing directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]