From 20f715a76e6feabc3b740640ff80ea0dcbdcbb6a Mon Sep 17 00:00:00 2001 From: champsupertramp Date: Mon, 25 Jan 2016 22:56:43 +0800 Subject: [PATCH] Add composer based development support --- .bowerrc | 3 ++ .gitignore | 6 ++++ .jshintrc | 16 +++++++++ bower.json | 20 +++++++++++ composer.json | 72 ++++++++++++++++++++++++++++++++++++++ gulpfile.js | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ manifest.json | 19 ++++++++++ package.json | 38 ++++++++++++++++++++ 8 files changed, 270 insertions(+) create mode 100644 .bowerrc create mode 100644 .jshintrc create mode 100644 bower.json create mode 100644 composer.json create mode 100644 gulpfile.js create mode 100644 manifest.json create mode 100644 package.json diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 00000000..cc489784 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "assets/vendor" +} diff --git a/.gitignore b/.gitignore index f91ff2b9..6d0b83bf 100644 --- a/.gitignore +++ b/.gitignore @@ -214,3 +214,9 @@ pip-log.txt #Mr Developer .mr.developer.cfg + +#Npm modules +node_modules/ + +# Vendors +assets/vendor/ \ No newline at end of file diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 00000000..136eae53 --- /dev/null +++ b/.jshintrc @@ -0,0 +1,16 @@ +{ + "bitwise": true, + "browser": true, + "curly": true, + "eqeqeq": true, + "eqnull": true, + "esnext": true, + "immed": true, + "jquery": true, + "latedef": true, + "newcap": true, + "noarg": true, + "node": true, + "strict": false, + "trailing": true +} diff --git a/bower.json b/bower.json new file mode 100644 index 00000000..b5a3b9d2 --- /dev/null +++ b/bower.json @@ -0,0 +1,20 @@ +{ + "name": "roots", + "version": "7.0.3", + "homepage": "http://roots.io", + "authors": [ + "Ben Word " + ], + "license": "MIT", + "private": true, + "ignore": [ + "**/.*", + "node_modules", + "assets" + ], + "dependencies": { + "modernizr": "2.8.2", + "select2": "https://github.com/select2/select2.git", + "pickadate": "https://github.com/amsul/pickadate.js.git" + } +} diff --git a/composer.json b/composer.json new file mode 100644 index 00000000..548addbe --- /dev/null +++ b/composer.json @@ -0,0 +1,72 @@ +{ + "name": "ultimatemember/ultimatemember", + "description": "The easiest way to create powerful online communities and beautiful user profiles with WordPress.", + "keywords": [ + "access-control", + "author", + "author profile", + "authors", + "comments", + "communities", + "community", + "conditional fields", + "conditional logic", + "conditional menus", + "content protection", + "custom fields", + "file uploads", + "form builder", + "front-end login", + "front-end registration", + "gravatar", + "hide wp-admin", + "logged-in users", + "login", + "login page", + "mandrill", + "member", + "member directory", + "members", + "Membership", + "online users", + "profile", + "profile builder", + "profiles", + "registration", + "Restrict content", + "restriction", + "role creation", + "role menus", + "search filters", + "sign in", + "sign up", + "social network", + "star ratings", + "Toolbar", + "user", + "user profile", + "User profiles", + "user roles", + "user-fields", + "users", + "wordpress", + "plugin" + ], + "homepage": "http://ultimatemember.com", + "authors": [ + { + "name": "Ultimate Member Group Ltd.", + "email": "support@ultimatemember.com" + } + ], + "support": { + "issues": "https://github.com/ultimatemember/ultimatemember/issues" + }, + "license": "GNU Version 2 or Any Later Version", + "extra": { + + }, + "replace": { + "ultimatemember/ultimatemember": "self.version" + } +} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 00000000..8d9c2868 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,96 @@ +var gulp = require('gulp'), + gutil = require('gulp-util'), + sass = require('gulp-ruby-sass'), + uglify = require('gulp-uglify'), + watch = require('gulp-watch'), + concat = require('gulp-concat'), + notify = require('gulp-notify'), + cssnano = require('gulp-cssnano'), + sourcemaps = require('gulp-sourcemaps'); + +var watch_changes_in_paths = { + scripts: ['assets/**/*', '!assets/vendor/**/*'], +}; + +gulp.task('scripts', function() { + + //= Copy library = // + //Pickadate Javascript + gulp.src([ + 'assets/vendor/pickadate/lib/legacy.js', + 'assets/vendor/pickadate/lib/picker.js', + 'assets/vendor/pickadate/lib/picker.date.js', + 'assets/vendor/pickadate/lib/picker.time.js', + ]) + .pipe(gulp.dest('assets/js/pickadate/')); + + gulp.src([ + 'assets/vendor/pickadate/lib/translations/*.js', + ]) + .pipe(gulp.dest('assets/js/pickadate/translations/')); + + // Pickadate CSS + gulp.src([ + 'assets/vendor/pickadate/lib/themes/*.css', + ]) + .pipe(gulp.dest('assets/css/pickadate/')); + + // Minify js files + gulp.src([ + './assets/vendor/select2/dist/js/select2.full.js', + './assets/vendor/pickadate/lib/picker.js', + './assets/vendor/pickadate/lib/legacy.js', + './assets/vendor/pickadate/lib/picker.date.js', + './assets/vendor/pickadate/lib/picker.time.js', + './assets/js/um-account.js', + './assets/js/um-conditional.js', + './assets/js/um-crop.js', + './assets/js/um-fileupload.js', + './assets/js/um-functions.js', + './assets/js/um-jquery-form.js', + './assets/js/um-masonry.js', + './assets/js/um-members.js', + './assets/js/um-modal.js', + './assets/js/um-profile.js', + './assets/js/um-raty.js', + './assets/js/um-responsive.js', + './assets/js/um-scripts.js', + './assets/js/um-scrollbar.js', + './assets/js/um-scrollto.js', + './assets/js/um-tipsy.js' + ]) + //.pipe(uglify()) + .pipe(concat("um.min.js")) + .pipe(gulp.dest('assets/js')); + + gulp.src([ + './assets/vendor/select2/dist/css/select2.css', + './assets/css/um-misc.css', + './assets/css/um-account.css', + './assets/css/um-crop.css', + './assets/css/um-fileupload.css', + './assets/css/um-fonticons-fa.css', + './assets/css/um-fonticons-ii.css', + './assets/css/um-members.css', + './assets/css/um-modal.css', + './assets/css/um-profile.css', + './assets/css/um-raty.css', + './assets/css/um-responsive.css', + './assets/css/um-scrollbar.css', + './assets/css/um-tipsy.css', + './assets/css/um-styles.css' + ]) + .pipe(cssnano()) + .pipe(concat("um.min.css")) + .pipe(gulp.dest('assets/css')); + +}); + + +// Watch for anychanges +/*gulp.task('watch', function() { + gulp.watch(watch_changes_in_paths.scripts, ['scripts']); +});*/ + +// The default task (called when you run `gulp`) +gulp.task('default', ['scripts'/*,'watch'*/] ); \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 00000000..171bf2d2 --- /dev/null +++ b/manifest.json @@ -0,0 +1,19 @@ +{ + "dependencies": { + "scripts/app.js": { + "files": [ + "assets/**/*", + ], + "main": true + }, + "main.css": { + "files": [ + "styles/main.less" + ], + "main": true + }, + "modernizr.js": { + "bower": ["modernizr"] + } + } +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 00000000..3dae134e --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "ultimatemember", + "version": "1.3.37", + "author": "Ultimate Member Group Ltd. ", + "homepage": "http://ultimatemember.com", + "repository": { + "type": "git", + "url": "git://github.com/ultimatemember/ultimatemember.git" + }, + "bugs": { + "url": "https://github.com/ultimatemember/ultimatemember/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "scripts": { + "postinstall": "node node_modules/bower/bin/bower install && gulp" + }, + "engines": { + "node": ">= 0.10.0" + }, + "devDependencies": { + "bower": ">=1.3.12", + "gulp-util": "~2.2.12", + "gulp": "~3.9.0", + "gulp-uglify": "~0.1.0", + "gulp-watch": "~0.5.0", + "gulp-concat": "~2.1.7", + "gulp-ruby-sass": "~0.2.0", + "gulp-notify": "~0.3.4-1", + "gulp-cssnano": "~2.1.0", + "gulp-sourcemaps": "~1.6.0", + "matchdep": "~0.1.2" + } +}