Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gekorm/webpack-permissions-plugin
A webpack plugin to manage the permissions of output files and directories
https://github.com/gekorm/webpack-permissions-plugin
permissions webpack webpack-plugin
Last synced: about 1 month ago
JSON representation
A webpack plugin to manage the permissions of output files and directories
- Host: GitHub
- URL: https://github.com/gekorm/webpack-permissions-plugin
- Owner: GeKorm
- License: mit
- Created: 2017-06-08T11:10:07.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-08T17:06:47.000Z (7 months ago)
- Last Synced: 2025-01-01T22:08:31.401Z (about 1 month ago)
- Topics: permissions, webpack, webpack-plugin
- Language: JavaScript
- Size: 47.9 KB
- Stars: 11
- Watchers: 2
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Webpack Permissions Plugin
A webpack plugin to manage the permissions of output files and directories
Tested with **Webpack 2, 3 and 4**### Install
- Yarn: `yarn add -D webpack-permissions-plugin`
- Npm: `npm i -D webpack-permissions-plugin`### Usage
**buildFolders** (_String: path_) The directories to chmod recursively
**buildFiles** (_String: path_) The specific files to chmodFiles under _buildFolders_ get file-specific permissions.
###### Simple: Directories 644, Files 755
```javascript
const PermissionsOutputPlugin = require('webpack-permissions-plugin');plugins.push(
new PermissionsOutputPlugin({
buildFolders: [
path.resolve(__dirname, 'resources/'),
path.resolve(__dirname, 'dist/')
],
buildFiles: [
path.resolve(__dirname, 'someFile.js'),
path.resolve(__dirname, 'dist/app.js')
]
// dist/app.js is redundant, it already got 755 by being included in the buildFolder above
})
);
```###### Advanced: Per-path modes
Mode: an octal string or octal integer (eg. `755` or `0o755`)
```javascript
const PermissionsOutputPlugin = require('webpack-permissions-plugin');plugins.push(
new PermissionsOutputPlugin({
buildFolders: [
{
path: path.resolve(__dirname, 'resources/'), // Everything under resources/ gets these modes
fileMode: '755',
dirMode: '644'
},
{
path: path.resolve(__dirname, 'dist/'), // Everything under dist/ gets these modes
fileMode: '755',
dirMode: '644'
}
],
buildFiles: [
{
path: path.resolve(__dirname, 'someFile.js'),
fileMode: '755'
},
{
path: path.resolve(__dirname, 'dist/app.js'),
fileMode: '777' // Overrides previous dist/ mode
}
]
})
);
```