-
-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] keeping original whole or partial stats #35
Comments
I'm trying to implement this on my fork, but it doesn't seem to be working. I'm happy to make the PR but I need a bit of guidance. |
The difficulty is in how we copy the files. By default, we add the files by adding them to It's possible that this feature could piggyback on the additions needed for #15. That feature also requires |
@evilebottnawi This issue is a bug on linux and macOS, ie 2 out of 3 major operating systems. It would be nice if you recognized @michael-ciniawsky 's tags and this issue's importance. Node can't spawn()/exec()/etc a copied file while this bug exists. |
@davepuchyr it is require to do PR in |
Thanks for enlightening me and for the plugin. |
Maybe something in the direction of #119 would be sufficient enough/in the meantime |
To work around the issue, I've implemented this plugin https://github.com/GeKorm/webpack-permissions-plugin It executes during the 'done' phase in the webpack lifecycle. |
Please make this happen. Great plugin but a pain in the ass to set the permissions afterwards ... |
@socialcode-rob1 How did you get the two to work in tandem? I've tried the |
Should this not be the default behavior of any copy functionality? |
If anyone is still having this issue, like I was. I was able to create a very small plugin like this: const CopyPlugin = require('copy-webpack-plugin');
const chmodr = require('chmodr')
const path = require("path");
class PermissionsPlugin {
apply(compiler) {
compiler.hooks.afterEmit.tap("PermissionsPlugin", () => {
console.log("changing permissions", path.join(__dirname, './path/to/files'), __dirname)
chmodr(path.join(__dirname, './path/to/files'), 0o755, err => {
console.log("Error changing perms " + err)
})
})
}
} This will fire after all assets are copied over, and is working well for me. You also have to add it into your plugins like so: module.exports = {
/* ... */
plugins: [
new PermissionsPlugin(),
new CopyPlugin({
options: {},
/* ... */
})
]
}; |
We have cordova hooks in our source folder (see the cordova hooks guide for more info: https://cordova.apache.org/docs/en/dev/guide/appdev/hooks/) that need to be copied into our destination folder and need to preserve the executable bit on their file mode (i.e.
ls -l
should print-rwxr-xr-x
for these files).Currently this doesn't happen, but it seems like it should be easy to do by passing a options object as a 3rd parameter to the to the
fs.writeFileAsync()
call in thewriteFilePromises
with thestat.mode
from thefs.statAsync()
call.The text was updated successfully, but these errors were encountered: