Skip to content

Instantly share code, notes, and snippets.

@junaidtk
Created February 12, 2021 13:10
Show Gist options
  • Save junaidtk/1685ee59e7eff4f8b379f45090441f15 to your computer and use it in GitHub Desktop.
Save junaidtk/1685ee59e7eff4f8b379f45090441f15 to your computer and use it in GitHub Desktop.
Plugin Development
for node module install.
npm install
package.json:
{
"name": "test-plugin",
"description": "TODO",
"version": "2.2.0",
"main": "Gruntfile.js",
"devDependencies": {
"grunt": "^1.3.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-cssmin": "^1.0.2",
"grunt-contrib-jshint": "^1.1.0",
"grunt-contrib-uglify": "^2.3.0",
"grunt-contrib-watch": "^1.1.0",
"load-grunt-tasks": "^0.2.0"
},
"engines": {
"node": ">=0.8.0",
"npm": ">=1.1.0"
}
}
Gruntfile.js
==============
'use strict';
module.exports = function(grunt) {
// auto load grunt tasks
//require( 'load-grunt-tasks' )( grunt );
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
plugin: 'test-plugin',
dirs: {
admin: {
js: 'admin/js',
css: 'admin/css'
},
public: {
js: 'public/js',
css: 'public/css'
}
},
// concat: {
// admin: {
// src: ['<%= dirs.admin.js %>/inc/**/*.js'],
// dest: '<%= dirs.admin.js %>/<%= plugin %>-admin.js',
// },
// public: {
// src: ['<%= dirs.public.js %>/inc/**/*.js'],
// dest: '<%= dirs.public.js %>/<%= plugin %>-public.js',
// },
// },
uglify: {
options: {
mangle: false
},
my_target: {
files: {
'<%= dirs.admin.js %>/<%= plugin %>-admin.min.js': ['<%= dirs.admin.js %>/<%= plugin %>-admin.js'],
'<%= dirs.public.js %>/<%= plugin %>-public.min.js': ['<%= dirs.public.js %>/<%= plugin %>-public.js']
}
}
},
cssmin: {
options: {
keepSpecialComments: 0
},
target: {
files: {
'<%= dirs.admin.css %>/<%= plugin %>-admin.min.css': ['<%= dirs.admin.css %>/<%= plugin %>-admin.css'],
'<%= dirs.public.css %>/<%= plugin %>-public.min.css': ['<%= dirs.public.css %>/<%= plugin %>-public.css']
}
}
},
watch: {
css: {
files: ['<%= dirs.admin.css %>/<%= plugin %>-admin.css', '<%= dirs.public.css %>/<%= plugin %>-public.css'], // which files to watch
tasks: ['cssmin']
},
js: {
files: ['<%= dirs.admin.js %>/**/*.js', '<%= dirs.public.js %>/**/*.js'], // which files to watch
tasks: ['uglify']
}
}
});
// Load the plugin that provides the "less" task.
grunt.loadNpmTasks('grunt-contrib-watch');
// grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-uglify');
//grunt.registerTask('dist', ['clean', 'copy']);
grunt.registerTask('default', ['watch']);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment