
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
grunt-config-dir-merge
Advanced tools
Split a grunt configuration into multiple files
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-config-dir --save-dev
Somewhere in your project's Gruntfile, initialize grunt-config-dir
like this:
require('grunt-config-dir')(grunt, {
configDir: require('path').resolve('grunt'),
fileExtensions: ['js', 'coffee']
}, function(err){ grunt.log.error(err) });
Then create your configDir
and move as many properties as you wish from grunt.config
into files beneath it. Filenames with truncated
extensions are used as the property keys. Your property files should export a function expecting the grunt
object as a parameter,
which returns the property value.
Type: String
Default value: path.resolve('grunt')
A directory relative to the Gruntfile
to contain your grunt.config property files.
Type: Array
Default value: ['js', 'coffee']
Valid file extensions to import properties from within configDir
.
Type: Boolean
Default value: true
If multiple configurations are found for the same task, they will be merged by default. If set to false, new task configurations will override previous ones.
require('grunt-config-dir')(grunt);
grunt.initConfig({
// copy config has been moved to `grunt/copy.js`
/*
copy: {
main: {
files: [
{ expand: true, src: ['path/*'], dest: 'dest/', filter: 'isFile' }
]
}
}
*/
});
// grunt.loadNpmTasks('grunt-contrib-copy');
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-copy');
return {
main: {
files: [
{ expand: true, src: ['path/*'], dest: 'dest/', filter: 'isFile' }
]
}
};
};
Before choosing grunt-config-dir
, you may want to explore other libraries with the same goal.
Feature | grunt-config-dir | load-grunt-config |
---|---|---|
Configurable tasks directory | :heavy_check_mark: | :heavy_check_mark: |
Default tasks directory | grunt/ | grunt/ |
CoffeeScript | :heavy_check_mark: | :heavy_check_mark: |
Tests | :heavy_check_mark: | :heavy_check_mark: |
Dogfooding | :heavy_check_mark: | :heavy_check_mark: |
Compatibility with grunt-environment | :heavy_check_mark: | :question: |
Support for returning a function | :x: | :heavy_check_mark: |
Aliases file | :x: | :heavy_check_mark: |
YAML support | :x: | :heavy_check_mark: |
$ npm install
$ grunt
Thanks!
fs-walk
verbose
option in favor of grunt.verboseFAQs
Split a grunt configuration into multiple files
We found that grunt-config-dir-merge demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.