Browse Source

Merge pull request #1841 from TechEmpower/sails-fix

SailsJS Framework Fixed
blee-techempower 9 years ago
parent
commit
a48fbee591
40 changed files with 17 additions and 1276 deletions
  1. 0 81
      frameworks/JavaScript/sailsjs/Gruntfile.js
  2. 8 2
      frameworks/JavaScript/sailsjs/api/controllers/SequelizeMySQLController.js
  3. 8 2
      frameworks/JavaScript/sailsjs/api/controllers/SequelizePostgresController.js
  4. 0 0
      frameworks/JavaScript/sailsjs/api/models/.gitkeep
  5. 0 21
      frameworks/JavaScript/sailsjs/api/policies/sessionAuth.js
  6. 0 64
      frameworks/JavaScript/sailsjs/api/responses/badRequest.js
  7. 0 77
      frameworks/JavaScript/sailsjs/api/responses/forbidden.js
  8. 0 82
      frameworks/JavaScript/sailsjs/api/responses/notFound.js
  9. 0 48
      frameworks/JavaScript/sailsjs/api/responses/ok.js
  10. 0 77
      frameworks/JavaScript/sailsjs/api/responses/serverError.js
  11. BIN
      frameworks/JavaScript/sailsjs/assets/favicon.ico
  12. 0 0
      frameworks/JavaScript/sailsjs/assets/images/.gitkeep
  13. 0 2
      frameworks/JavaScript/sailsjs/assets/js/dependencies/sails.io.js
  14. 0 8
      frameworks/JavaScript/sailsjs/assets/robots.txt
  15. 0 30
      frameworks/JavaScript/sailsjs/assets/styles/importer.less
  16. 0 0
      frameworks/JavaScript/sailsjs/assets/templates/.gitkeep
  17. 0 13
      frameworks/JavaScript/sailsjs/package.json
  18. 1 1
      frameworks/JavaScript/sailsjs/setup.sh
  19. 0 54
      frameworks/JavaScript/sailsjs/tasks/README.md
  20. 0 20
      frameworks/JavaScript/sailsjs/tasks/config/clean.js
  21. 0 38
      frameworks/JavaScript/sailsjs/tasks/config/coffee.js
  22. 0 27
      frameworks/JavaScript/sailsjs/tasks/config/concat.js
  23. 0 38
      frameworks/JavaScript/sailsjs/tasks/config/copy.js
  24. 0 21
      frameworks/JavaScript/sailsjs/tasks/config/cssmin.js
  25. 0 45
      frameworks/JavaScript/sailsjs/tasks/config/jst.js
  26. 0 28
      frameworks/JavaScript/sailsjs/tasks/config/less.js
  27. 0 267
      frameworks/JavaScript/sailsjs/tasks/config/sails-linker.js
  28. 0 27
      frameworks/JavaScript/sailsjs/tasks/config/sync.js
  29. 0 22
      frameworks/JavaScript/sailsjs/tasks/config/uglify.js
  30. 0 34
      frameworks/JavaScript/sailsjs/tasks/config/watch.js
  31. 0 64
      frameworks/JavaScript/sailsjs/tasks/pipeline.js
  32. 0 8
      frameworks/JavaScript/sailsjs/tasks/register/build.js
  33. 0 11
      frameworks/JavaScript/sailsjs/tasks/register/buildProd.js
  34. 0 9
      frameworks/JavaScript/sailsjs/tasks/register/compileAssets.js
  35. 0 3
      frameworks/JavaScript/sailsjs/tasks/register/default.js
  36. 0 10
      frameworks/JavaScript/sailsjs/tasks/register/linkAssets.js
  37. 0 10
      frameworks/JavaScript/sailsjs/tasks/register/linkAssetsBuild.js
  38. 0 10
      frameworks/JavaScript/sailsjs/tasks/register/linkAssetsBuildProd.js
  39. 0 14
      frameworks/JavaScript/sailsjs/tasks/register/prod.js
  40. 0 8
      frameworks/JavaScript/sailsjs/tasks/register/syncAssets.js

+ 0 - 81
frameworks/JavaScript/sailsjs/Gruntfile.js

@@ -1,81 +0,0 @@
-/**
- * Gruntfile
- *
- * This Node script is executed when you run `grunt` or `sails lift`.
- * It's purpose is to load the Grunt tasks in your project's `tasks`
- * folder, and allow you to add and remove tasks as you see fit.
- * For more information on how this works, check out the `README.md`
- * file that was generated in your `tasks` folder.
- *
- * WARNING:
- * Unless you know what you're doing, you shouldn't change this file.
- * Check out the `tasks` directory instead.
- */
-
-module.exports = function(grunt) {
-
-
-	// Load the include-all library in order to require all of our grunt
-	// configurations and task registrations dynamically.
-	var includeAll;
-	try {
-		includeAll = require('include-all');
-	} catch (e0) {
-		try {
-			includeAll = require('sails/node_modules/include-all');
-		}
-		catch(e1) {
-			console.error('Could not find `include-all` module.');
-			console.error('Skipping grunt tasks...');
-			console.error('To fix this, please run:');
-			console.error('npm install include-all --save`');
-			console.error();
-
-			grunt.registerTask('default', []);
-			return;
-		}
-	}
-
-
-	/**
-	 * Loads Grunt configuration modules from the specified
-	 * relative path. These modules should export a function
-	 * that, when run, should either load/configure or register
-	 * a Grunt task.
-	 */
-	function loadTasks(relPath) {
-		return includeAll({
-			dirname: require('path').resolve(__dirname, relPath),
-			filter: /(.+)\.js$/
-		}) || {};
-	}
-
-	/**
-	 * Invokes the function from a Grunt configuration module with
-	 * a single argument - the `grunt` object.
-	 */
-	function invokeConfigFn(tasks) {
-		for (var taskName in tasks) {
-			if (tasks.hasOwnProperty(taskName)) {
-				tasks[taskName](grunt);
-			}
-		}
-	}
-
-
-
-
-	// Load task functions
-	var taskConfigurations = loadTasks('./tasks/config'),
-		registerDefinitions = loadTasks('./tasks/register');
-
-	// (ensure that a default task exists)
-	if (!registerDefinitions.default) {
-		registerDefinitions.default = function (grunt) { grunt.registerTask('default', []); };
-	}
-
-	// Run task functions to configure Grunt.
-	invokeConfigFn(taskConfigurations);
-	invokeConfigFn(registerDefinitions);
-
-};

+ 8 - 2
frameworks/JavaScript/sailsjs/api/controllers/SequelizeMySQLController.js

@@ -24,7 +24,10 @@ var sequelize = new Sequelize(
 
 
 
 
 var Worlds = sequelize.define('World', {
 var Worlds = sequelize.define('World', {
-  id: Sequelize.INTEGER,
+  id: {
+      type: Sequelize.INTEGER,
+      primaryKey: true
+  },
   randomNumber: Sequelize.INTEGER
   randomNumber: Sequelize.INTEGER
 },
 },
 {
 {
@@ -35,7 +38,10 @@ var Worlds = sequelize.define('World', {
 
 
 
 
 var Fortunes = sequelize.define('Fortune', {
 var Fortunes = sequelize.define('Fortune', {
-  id: Sequelize.INTEGER,
+  id: {
+       type: Sequelize.INTEGER,
+       primaryKey: true
+  },
   message: Sequelize.STRING
   message: Sequelize.STRING
 },
 },
 {
 {

+ 8 - 2
frameworks/JavaScript/sailsjs/api/controllers/SequelizePostgresController.js

@@ -24,7 +24,10 @@ var sequelize = new Sequelize(
 
 
 
 
 var Worlds = sequelize.define('World', {
 var Worlds = sequelize.define('World', {
-  id: Sequelize.INTEGER,
+  id: {
+       type: Sequelize.INTEGER,
+       primaryKey: true
+  },
   randomnumber: Sequelize.INTEGER
   randomnumber: Sequelize.INTEGER
 },
 },
 {
 {
@@ -35,7 +38,10 @@ var Worlds = sequelize.define('World', {
 
 
 
 
 var Fortunes = sequelize.define('Fortune', {
 var Fortunes = sequelize.define('Fortune', {
-  id: Sequelize.INTEGER,
+  id: {
+       type: Sequelize.INTEGER,
+       primaryKey: true
+  },
   message: Sequelize.STRING
   message: Sequelize.STRING
 },
 },
 {
 {

+ 0 - 0
frameworks/JavaScript/sailsjs/api/models/.gitkeep


+ 0 - 21
frameworks/JavaScript/sailsjs/api/policies/sessionAuth.js

@@ -1,21 +0,0 @@
-/**
- * sessionAuth
- *
- * @module      :: Policy
- * @description :: Simple policy to allow any authenticated user
- *                 Assumes that your login action in one of your controllers sets `req.session.authenticated = true;`
- * @docs        :: http://sailsjs.org/#!documentation/policies
- *
- */
-module.exports = function(req, res, next) {
-
-  // User is allowed, proceed to the next policy, 
-  // or if this is the last policy, the controller
-  if (req.session.authenticated) {
-    return next();
-  }
-
-  // User is not allowed
-  // (default res.forbidden() behavior can be overridden in `config/403.js`)
-  return res.forbidden('You are not permitted to perform this action.');
-};

+ 0 - 64
frameworks/JavaScript/sailsjs/api/responses/badRequest.js

@@ -1,64 +0,0 @@
-/**
- * 400 (Bad Request) Handler
- *
- * Usage:
- * return res.badRequest();
- * return res.badRequest(data);
- * return res.badRequest(data, 'some/specific/badRequest/view');
- *
- * e.g.:
- * ```
- * return res.badRequest(
- *   'Please choose a valid `password` (6-12 characters)',
- *   'trial/signup'
- * );
- * ```
- */
-
-module.exports = function badRequest(data, options) {
-
-  // Get access to `req`, `res`, & `sails`
-  var req = this.req;
-  var res = this.res;
-  var sails = req._sails;
-
-  // Set status code
-  res.status(400);
-
-  // Log error to console
-  if (data !== undefined) {
-    sails.log.verbose('Sending 400 ("Bad Request") response: \n',data);
-  }
-  else sails.log.verbose('Sending 400 ("Bad Request") response');
-
-  // Only include errors in response if application environment
-  // is not set to 'production'.  In production, we shouldn't
-  // send back any identifying information about errors.
-  if (sails.config.environment === 'production') {
-    data = undefined;
-  }
-
-  // If the user-agent wants JSON, always respond with JSON
-  if (req.wantsJSON) {
-    return res.jsonx(data);
-  }
-
-  // If second argument is a string, we take that to mean it refers to a view.
-  // If it was omitted, use an empty object (`{}`)
-  options = (typeof options === 'string') ? { view: options } : options || {};
-
-  // If a view was provided in options, serve it.
-  // Otherwise try to guess an appropriate view, or if that doesn't
-  // work, just send JSON.
-  if (options.view) {
-    return res.view(options.view, { data: data });
-  }
-
-  // If no second argument provided, try to serve the implied view,
-  // but fall back to sending JSON(P) if no view can be inferred.
-  else return res.guessView({ data: data }, function couldNotGuessView () {
-    return res.jsonx(data);
-  });
-
-};
-

+ 0 - 77
frameworks/JavaScript/sailsjs/api/responses/forbidden.js

@@ -1,77 +0,0 @@
-/**
- * 403 (Forbidden) Handler
- *
- * Usage:
- * return res.forbidden();
- * return res.forbidden(err);
- * return res.forbidden(err, 'some/specific/forbidden/view');
- *
- * e.g.:
- * ```
- * return res.forbidden('Access denied.');
- * ```
- */
-
-module.exports = function forbidden (data, options) {
-
-  // Get access to `req`, `res`, & `sails`
-  var req = this.req;
-  var res = this.res;
-  var sails = req._sails;
-
-  // Set status code
-  res.status(403);
-
-  // Log error to console
-  if (data !== undefined) {
-    sails.log.verbose('Sending 403 ("Forbidden") response: \n',data);
-  }
-  else sails.log.verbose('Sending 403 ("Forbidden") response');
-
-  // Only include errors in response if application environment
-  // is not set to 'production'.  In production, we shouldn't
-  // send back any identifying information about errors.
-  if (sails.config.environment === 'production') {
-    data = undefined;
-  }
-
-  // If the user-agent wants JSON, always respond with JSON
-  if (req.wantsJSON) {
-    return res.jsonx(data);
-  }
-
-  // If second argument is a string, we take that to mean it refers to a view.
-  // If it was omitted, use an empty object (`{}`)
-  options = (typeof options === 'string') ? { view: options } : options || {};
-
-  // If a view was provided in options, serve it.
-  // Otherwise try to guess an appropriate view, or if that doesn't
-  // work, just send JSON.
-  if (options.view) {
-    return res.view(options.view, { data: data });
-  }
-
-  // If no second argument provided, try to serve the default view,
-  // but fall back to sending JSON(P) if any errors occur.
-  else return res.view('403', { data: data }, function (err, html) {
-
-    // If a view error occured, fall back to JSON(P).
-    if (err) {
-      //
-      // Additionally:
-      // • If the view was missing, ignore the error but provide a verbose log.
-      if (err.code === 'E_VIEW_FAILED') {
-        sails.log.verbose('res.forbidden() :: Could not locate view for error page (sending JSON instead).  Details: ',err);
-      }
-      // Otherwise, if this was a more serious error, log to the console with the details.
-      else {
-        sails.log.warn('res.forbidden() :: When attempting to render error page view, an error occured (sending JSON instead).  Details: ', err);
-      }
-      return res.jsonx(data);
-    }
-
-    return res.send(html);
-  });
-
-};
-

+ 0 - 82
frameworks/JavaScript/sailsjs/api/responses/notFound.js

@@ -1,82 +0,0 @@
-/**
- * 404 (Not Found) Handler
- *
- * Usage:
- * return res.notFound();
- * return res.notFound(err);
- * return res.notFound(err, 'some/specific/notfound/view');
- *
- * e.g.:
- * ```
- * return res.notFound();
- * ```
- *
- * NOTE:
- * If a request doesn't match any explicit routes (i.e. `config/routes.js`)
- * or route blueprints (i.e. "shadow routes", Sails will call `res.notFound()`
- * automatically.
- */
-
-module.exports = function notFound (data, options) {
-
-  // Get access to `req`, `res`, & `sails`
-  var req = this.req;
-  var res = this.res;
-  var sails = req._sails;
-
-  // Set status code
-  res.status(404);
-
-  // Log error to console
-  if (data !== undefined) {
-    sails.log.verbose('Sending 404 ("Not Found") response: \n',data);
-  }
-  else sails.log.verbose('Sending 404 ("Not Found") response');
-
-  // Only include errors in response if application environment
-  // is not set to 'production'.  In production, we shouldn't
-  // send back any identifying information about errors.
-  if (sails.config.environment === 'production') {
-    data = undefined;
-  }
-
-  // If the user-agent wants JSON, always respond with JSON
-  if (req.wantsJSON) {
-    return res.jsonx(data);
-  }
-
-  // If second argument is a string, we take that to mean it refers to a view.
-  // If it was omitted, use an empty object (`{}`)
-  options = (typeof options === 'string') ? { view: options } : options || {};
-
-  // If a view was provided in options, serve it.
-  // Otherwise try to guess an appropriate view, or if that doesn't
-  // work, just send JSON.
-  if (options.view) {
-    return res.view(options.view, { data: data });
-  }
-
-  // If no second argument provided, try to serve the default view,
-  // but fall back to sending JSON(P) if any errors occur.
-  else return res.view('404', { data: data }, function (err, html) {
-
-    // If a view error occured, fall back to JSON(P).
-    if (err) {
-      //
-      // Additionally:
-      // • If the view was missing, ignore the error but provide a verbose log.
-      if (err.code === 'E_VIEW_FAILED') {
-        sails.log.verbose('res.notFound() :: Could not locate view for error page (sending JSON instead).  Details: ',err);
-      }
-      // Otherwise, if this was a more serious error, log to the console with the details.
-      else {
-        sails.log.warn('res.notFound() :: When attempting to render error page view, an error occured (sending JSON instead).  Details: ', err);
-      }
-      return res.jsonx(data);
-    }
-
-    return res.send(html);
-  });
-
-};
-

+ 0 - 48
frameworks/JavaScript/sailsjs/api/responses/ok.js

@@ -1,48 +0,0 @@
-/**
- * 200 (OK) Response
- *
- * Usage:
- * return res.ok();
- * return res.ok(data);
- * return res.ok(data, 'auth/login');
- *
- * @param  {Object} data
- * @param  {String|Object} options
- *          - pass string to render specified view
- */
-
-module.exports = function sendOK (data, options) {
-
-  // Get access to `req`, `res`, & `sails`
-  var req = this.req;
-  var res = this.res;
-  var sails = req._sails;
-
-  sails.log.silly('res.ok() :: Sending 200 ("OK") response');
-
-  // Set status code
-  res.status(200);
-
-  // If appropriate, serve data as JSON(P)
-  if (req.wantsJSON) {
-    return res.jsonx(data);
-  }
-
-  // If second argument is a string, we take that to mean it refers to a view.
-  // If it was omitted, use an empty object (`{}`)
-  options = (typeof options === 'string') ? { view: options } : options || {};
-
-  // If a view was provided in options, serve it.
-  // Otherwise try to guess an appropriate view, or if that doesn't
-  // work, just send JSON.
-  if (options.view) {
-    return res.view(options.view, { data: data });
-  }
-
-  // If no second argument provided, try to serve the implied view,
-  // but fall back to sending JSON(P) if no view can be inferred.
-  else return res.guessView({ data: data }, function couldNotGuessView () {
-    return res.jsonx(data);
-  });
-
-};

+ 0 - 77
frameworks/JavaScript/sailsjs/api/responses/serverError.js

@@ -1,77 +0,0 @@
-/**
- * 500 (Server Error) Response
- *
- * Usage:
- * return res.serverError();
- * return res.serverError(err);
- * return res.serverError(err, 'some/specific/error/view');
- *
- * NOTE:
- * If something throws in a policy or controller, or an internal
- * error is encountered, Sails will call `res.serverError()`
- * automatically.
- */
-
-module.exports = function serverError (data, options) {
-
-  // Get access to `req`, `res`, & `sails`
-  var req = this.req;
-  var res = this.res;
-  var sails = req._sails;
-
-  // Set status code
-  res.status(500);
-
-  // Log error to console
-  if (data !== undefined) {
-    sails.log.error('Sending 500 ("Server Error") response: \n',data);
-  }
-  else sails.log.error('Sending empty 500 ("Server Error") response');
-
-  // Only include errors in response if application environment
-  // is not set to 'production'.  In production, we shouldn't
-  // send back any identifying information about errors.
-  if (sails.config.environment === 'production') {
-    data = undefined;
-  }
-
-  // If the user-agent wants JSON, always respond with JSON
-  if (req.wantsJSON) {
-    return res.jsonx(data);
-  }
-
-  // If second argument is a string, we take that to mean it refers to a view.
-  // If it was omitted, use an empty object (`{}`)
-  options = (typeof options === 'string') ? { view: options } : options || {};
-
-  // If a view was provided in options, serve it.
-  // Otherwise try to guess an appropriate view, or if that doesn't
-  // work, just send JSON.
-  if (options.view) {
-    return res.view(options.view, { data: data });
-  }
-
-  // If no second argument provided, try to serve the default view,
-  // but fall back to sending JSON(P) if any errors occur.
-  else return res.view('500', { data: data }, function (err, html) {
-
-    // If a view error occured, fall back to JSON(P).
-    if (err) {
-      //
-      // Additionally:
-      // • If the view was missing, ignore the error but provide a verbose log.
-      if (err.code === 'E_VIEW_FAILED') {
-        sails.log.verbose('res.serverError() :: Could not locate view for error page (sending JSON instead).  Details: ',err);
-      }
-      // Otherwise, if this was a more serious error, log to the console with the details.
-      else {
-        sails.log.warn('res.serverError() :: When attempting to render error page view, an error occured (sending JSON instead).  Details: ', err);
-      }
-      return res.jsonx(data);
-    }
-
-    return res.send(html);
-  });
-
-};
-

BIN
frameworks/JavaScript/sailsjs/assets/favicon.ico


+ 0 - 0
frameworks/JavaScript/sailsjs/assets/images/.gitkeep


File diff suppressed because it is too large
+ 0 - 2
frameworks/JavaScript/sailsjs/assets/js/dependencies/sails.io.js


+ 0 - 8
frameworks/JavaScript/sailsjs/assets/robots.txt

@@ -1,8 +0,0 @@
-# The robots.txt file is used to control how search engines index your live URLs.
-# See http://www.robotstxt.org/wc/norobots.html for more information.
-
-
-
-# To prevent search engines from seeing the site altogether, uncomment the next two lines:
-# User-Agent: *
-# Disallow: /

+ 0 - 30
frameworks/JavaScript/sailsjs/assets/styles/importer.less

@@ -1,30 +0,0 @@
-/**
- * importer.less
- *
- * By default, new Sails projects are configured to compile this file
- * from LESS to CSS.  Unlike CSS files, LESS files are not compiled and
- * included automatically unless they are imported below.
- *
- * The LESS files imported below are compiled and included in the order
- * they are listed.  Mixins, variables, etc. should be imported first
- * so that they can be accessed by subsequent LESS stylesheets.
- *
- * (Just like the rest of the asset pipeline bundled in Sails, you can
- * always omit, customize, or replace this behavior with SASS, SCSS,
- * or any other Grunt tasks you like.)
- */
-
-
-
-// For example:
-//
-// @import 'variables/colors.less';
-// @import 'mixins/foo.less';
-// @import 'mixins/bar.less';
-// @import 'mixins/baz.less';
-//
-// @import 'styleguide.less';
-// @import 'pages/login.less';
-// @import 'pages/signup.less';
-//
-// etc.

+ 0 - 0
frameworks/JavaScript/sailsjs/assets/templates/.gitkeep


+ 0 - 13
frameworks/JavaScript/sailsjs/package.json

@@ -8,21 +8,8 @@
     "async": "^1.2.0",
     "async": "^1.2.0",
     "bluebird": "^2.9.27",
     "bluebird": "^2.9.27",
     "ejs": "~2.3.1",
     "ejs": "~2.3.1",
-    "grunt": "0.4.5",
-    "grunt-contrib-clean": "~0.6.0",
-    "grunt-contrib-coffee": "~0.13.0",
-    "grunt-contrib-concat": "~0.5.1",
-    "grunt-contrib-copy": "~0.8.0",
-    "grunt-contrib-cssmin": "~0.12.3",
-    "grunt-contrib-jst": "~0.6.0",
-    "grunt-contrib-less": "1.0.1",
-    "grunt-contrib-uglify": "~0.9.1",
-    "grunt-contrib-watch": "~0.6.1",
-    "grunt-sails-linker": "~0.10.1",
-    "grunt-sync": "~0.2.3",
     "handlebars": "^3.0.3",
     "handlebars": "^3.0.3",
     "hiredis": "^0.4.0",
     "hiredis": "^0.4.0",
-    "include-all": "~0.1.6",
     "mysql": "^2.7.0",
     "mysql": "^2.7.0",
     "pg": "^4.4.0",
     "pg": "^4.4.0",
     "pg-hstore": "^2.3.2",
     "pg-hstore": "^2.3.2",

+ 1 - 1
frameworks/JavaScript/sailsjs/setup.sh

@@ -2,7 +2,7 @@
 
 
 fw_depends nodejs
 fw_depends nodejs
 
 
-sed -i 's|127.0.0.1|'"${DBHOST}"'|g' api/controllers/Redis.js
+sed -i 's|127.0.0.1|'"${DBHOST}"'|g' api/controllers/RedisController.js
 sed -i 's|127.0.0.1|'"${DBHOST}"'|g' api/controllers/SequelizeMySQLController.js
 sed -i 's|127.0.0.1|'"${DBHOST}"'|g' api/controllers/SequelizeMySQLController.js
 sed -i 's|127.0.0.1|'"${DBHOST}"'|g' api/controllers/SequelizePostgresController.js
 sed -i 's|127.0.0.1|'"${DBHOST}"'|g' api/controllers/SequelizePostgresController.js
 
 

+ 0 - 54
frameworks/JavaScript/sailsjs/tasks/README.md

@@ -1,54 +0,0 @@
-# About the `tasks` folder
-
-The `tasks` directory is a suite of Grunt tasks and their configurations, bundled for your convenience.  The Grunt integration is mainly useful for bundling front-end assets, (like stylesheets, scripts, & markup templates) but it can also be used to run all kinds of development tasks, from browserify compilation to database migrations.
-
-If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, read on!
-
-
-### How does this work?
-
-The asset pipeline bundled in Sails is a set of Grunt tasks configured with conventional defaults designed to make your project more consistent and productive.
-
-The entire front-end asset workflow in Sails is completely customizable-- while it provides some suggestions out of the box, Sails makes no pretense that it can anticipate all of the needs you'll encounter building the browser-based/front-end portion of your application.  Who's to say you're even building an app for a browser?
-
-
-
-### What tasks does Sails run automatically?
-
-Sails runs some of these tasks (the ones in the `tasks/register` folder) automatically when you run certain commands.
-
-###### `sails lift`
-
-Runs the `default` task (`tasks/register/default.js`).
-
-###### `sails lift --prod`
-
-Runs the `prod` task (`tasks/register/prod.js`).
-
-###### `sails www`
-
-Runs the `build` task (`tasks/register/build.js`).
-
-###### `sails www --prod` (production)
-
-Runs the `buildProd` task (`tasks/register/buildProd.js`).
-
-
-### Can I customize this for SASS, Angular, client-side Jade templates, etc?
-
-You can modify, omit, or replace any of these Grunt tasks to fit your requirements. You can also add your own Grunt tasks- just add a `someTask.js` file in the `grunt/config` directory to configure the new task, then register it with the appropriate parent task(s) (see files in `grunt/register/*.js`).
-
-
-### Do I have to use Grunt?
-
-Nope! To disable Grunt integration in Sails, just delete your Gruntfile or disable the Grunt hook.
-
-
-### What if I'm not building a web frontend?
-
-That's ok! A core tenant of Sails is client-agnosticism-- it's especially designed for building APIs used by all sorts of clients; native Android/iOS/Cordova, serverside SDKs, etc.
-
-You can completely disable Grunt by following the instructions above.
-
-If you still want to use Grunt for other purposes, but don't want any of the default web front-end stuff, just delete your project's `assets` folder and remove the front-end oriented tasks from the `grunt/register` and `grunt/config` folders.  You can also run `sails new myCoolApi --no-frontend` to omit the `assets` folder and front-end-oriented Grunt tasks for future projects.  You can also replace your `sails-generate-frontend` module with alternative community generators, or create your own.  This allows `sails new` to create the boilerplate for native iOS apps, Android apps, Cordova apps, SteroidsJS apps, etc.
-

+ 0 - 20
frameworks/JavaScript/sailsjs/tasks/config/clean.js

@@ -1,20 +0,0 @@
-/**
- * Clean files and folders.
- *
- * ---------------------------------------------------------------
- *
- * This grunt task is configured to clean out the contents in the .tmp/public of your
- * sails project.
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-clean
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('clean', {
-		dev: ['.tmp/public/**'],
-		build: ['www']
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-clean');
-};

+ 0 - 38
frameworks/JavaScript/sailsjs/tasks/config/coffee.js

@@ -1,38 +0,0 @@
-/**
- * Compile CoffeeScript files to JavaScript.
- *
- * ---------------------------------------------------------------
- *
- * Compiles coffeeScript files from `assest/js` into Javascript and places them into
- * `.tmp/public/js` directory.
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-coffee
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('coffee', {
-		dev: {
-			options: {
-				bare: true,
-				sourceMap: true,
-				sourceRoot: './'
-			},
-			files: [{
-				expand: true,
-				cwd: 'assets/js/',
-				src: ['**/*.coffee'],
-				dest: '.tmp/public/js/',
-				ext: '.js'
-			}, {
-				expand: true,
-				cwd: 'assets/js/',
-				src: ['**/*.coffee'],
-				dest: '.tmp/public/js/',
-				ext: '.js'
-			}]
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-coffee');
-};

+ 0 - 27
frameworks/JavaScript/sailsjs/tasks/config/concat.js

@@ -1,27 +0,0 @@
-/**
- * Concatenate files.
- *
- * ---------------------------------------------------------------
- *
- * Concatenates files javascript and css from a defined array. Creates concatenated files in
- * .tmp/public/contact directory
- * [concat](https://github.com/gruntjs/grunt-contrib-concat)
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-concat
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('concat', {
-		js: {
-			src: require('../pipeline').jsFilesToInject,
-			dest: '.tmp/public/concat/production.js'
-		},
-		css: {
-			src: require('../pipeline').cssFilesToInject,
-			dest: '.tmp/public/concat/production.css'
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-concat');
-};

+ 0 - 38
frameworks/JavaScript/sailsjs/tasks/config/copy.js

@@ -1,38 +0,0 @@
-/**
- * Copy files and folders.
- *
- * ---------------------------------------------------------------
- *
- * # dev task config
- * Copies all directories and files, exept coffescript and less fiels, from the sails
- * assets folder into the .tmp/public directory.
- *
- * # build task config
- * Copies all directories nd files from the .tmp/public directory into a www directory.
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-copy
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('copy', {
-		dev: {
-			files: [{
-				expand: true,
-				cwd: './assets',
-				src: ['**/*.!(coffee|less)'],
-				dest: '.tmp/public'
-			}]
-		},
-		build: {
-			files: [{
-				expand: true,
-				cwd: '.tmp/public',
-				src: ['**/*'],
-				dest: 'www'
-			}]
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-copy');
-};

+ 0 - 21
frameworks/JavaScript/sailsjs/tasks/config/cssmin.js

@@ -1,21 +0,0 @@
-/**
- * Compress CSS files.
- *
- * ---------------------------------------------------------------
- *
- * Minifies css files and places them into .tmp/public/min directory.
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-cssmin
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('cssmin', {
-		dist: {
-			src: ['.tmp/public/concat/production.css'],
-			dest: '.tmp/public/min/production.min.css'
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-cssmin');
-};

+ 0 - 45
frameworks/JavaScript/sailsjs/tasks/config/jst.js

@@ -1,45 +0,0 @@
-/**
- * Precompiles Underscore templates to a `.jst` file.
- *
- * ---------------------------------------------------------------
- *
- * (i.e. basically it takes HTML files and turns them into tiny little
- *  javascript functions that you pass data to and return HTML. This can
- *  speed up template rendering on the client, and reduce bandwidth usage.)
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-jst
- *
- */
-
-module.exports = function(grunt) {
-
-	var templateFilesToInject = [
-		'templates/**/*.html'
-	];
-
-	grunt.config.set('jst', {
-		dev: {
-
-			// To use other sorts of templates, specify a regexp like the example below:
-			// options: {
-			//   templateSettings: {
-			//     interpolate: /\{\{(.+?)\}\}/g
-			//   }
-			// },
-
-			// Note that the interpolate setting above is simply an example of overwriting lodash's
-			// default interpolation. If you want to parse templates with the default _.template behavior
-			// (i.e. using <div></div>), there's no need to overwrite `templateSettings.interpolate`.
-
-
-			files: {
-				// e.g.
-				// 'relative/path/from/gruntfile/to/compiled/template/destination'  : ['relative/path/to/sourcefiles/**/*.html']
-				'.tmp/public/jst.js': require('../pipeline').templateFilesToInject
-			}
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-jst');
-};

+ 0 - 28
frameworks/JavaScript/sailsjs/tasks/config/less.js

@@ -1,28 +0,0 @@
-/**
- * Compiles LESS files into CSS.
- *
- * ---------------------------------------------------------------
- *
- * Only the `assets/styles/importer.less` is compiled.
- * This allows you to control the ordering yourself, i.e. import your
- * dependencies, mixins, variables, resets, etc. before other stylesheets)
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-less
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('less', {
-		dev: {
-			files: [{
-				expand: true,
-				cwd: 'assets/styles/',
-				src: ['importer.less'],
-				dest: '.tmp/public/styles/',
-				ext: '.css'
-			}]
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-less');
-};

+ 0 - 267
frameworks/JavaScript/sailsjs/tasks/config/sails-linker.js

@@ -1,267 +0,0 @@
-/**
- * Autoinsert script tags (or other filebased tags) in an html file.
- *
- * ---------------------------------------------------------------
- *
- * Automatically inject <script> tags for javascript files and <link> tags
- * for css files.  Also automatically links an output file containing precompiled
- * templates using a <script> tag.
- *
- * For usage docs see:
- * 		https://github.com/Zolmeister/grunt-sails-linker
- *
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('sails-linker', {
-		devJs: {
-			options: {
-				startTag: '<!--SCRIPTS-->',
-				endTag: '<!--SCRIPTS END-->',
-				fileTmpl: '<script src="%s"></script>',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'.tmp/public/**/*.html': require('../pipeline').jsFilesToInject,
-				'views/**/*.html': require('../pipeline').jsFilesToInject,
-				'views/**/*.ejs': require('../pipeline').jsFilesToInject
-			}
-		},
-
-		devJsRelative: {
-			options: {
-				startTag: '<!--SCRIPTS-->',
-				endTag: '<!--SCRIPTS END-->',
-				fileTmpl: '<script src="%s"></script>',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-			files: {
-				'.tmp/public/**/*.html': require('../pipeline').jsFilesToInject,
-				'views/**/*.html': require('../pipeline').jsFilesToInject,
-				'views/**/*.ejs': require('../pipeline').jsFilesToInject
-			}
-		},
-
-		prodJs: {
-			options: {
-				startTag: '<!--SCRIPTS-->',
-				endTag: '<!--SCRIPTS END-->',
-				fileTmpl: '<script src="%s"></script>',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'.tmp/public/**/*.html': ['.tmp/public/min/production.min.js'],
-				'views/**/*.html': ['.tmp/public/min/production.min.js'],
-				'views/**/*.ejs': ['.tmp/public/min/production.min.js']
-			}
-		},
-
-		prodJsRelative: {
-			options: {
-				startTag: '<!--SCRIPTS-->',
-				endTag: '<!--SCRIPTS END-->',
-				fileTmpl: '<script src="%s"></script>',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-			files: {
-				'.tmp/public/**/*.html': ['.tmp/public/min/production.min.js'],
-				'views/**/*.html': ['.tmp/public/min/production.min.js'],
-				'views/**/*.ejs': ['.tmp/public/min/production.min.js']
-			}
-		},
-
-		devStyles: {
-			options: {
-				startTag: '<!--STYLES-->',
-				endTag: '<!--STYLES END-->',
-				fileTmpl: '<link rel="stylesheet" href="%s">',
-				appRoot: '.tmp/public'
-			},
-
-			files: {
-				'.tmp/public/**/*.html': require('../pipeline').cssFilesToInject,
-				'views/**/*.html': require('../pipeline').cssFilesToInject,
-				'views/**/*.ejs': require('../pipeline').cssFilesToInject
-			}
-		},
-
-		devStylesRelative: {
-			options: {
-				startTag: '<!--STYLES-->',
-				endTag: '<!--STYLES END-->',
-				fileTmpl: '<link rel="stylesheet" href="%s">',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-
-			files: {
-				'.tmp/public/**/*.html': require('../pipeline').cssFilesToInject,
-				'views/**/*.html': require('../pipeline').cssFilesToInject,
-				'views/**/*.ejs': require('../pipeline').cssFilesToInject
-			}
-		},
-
-		prodStyles: {
-			options: {
-				startTag: '<!--STYLES-->',
-				endTag: '<!--STYLES END-->',
-				fileTmpl: '<link rel="stylesheet" href="%s">',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'.tmp/public/index.html': ['.tmp/public/min/production.min.css'],
-				'views/**/*.html': ['.tmp/public/min/production.min.css'],
-				'views/**/*.ejs': ['.tmp/public/min/production.min.css']
-			}
-		},
-
-		prodStylesRelative: {
-			options: {
-				startTag: '<!--STYLES-->',
-				endTag: '<!--STYLES END-->',
-				fileTmpl: '<link rel="stylesheet" href="%s">',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-			files: {
-				'.tmp/public/index.html': ['.tmp/public/min/production.min.css'],
-				'views/**/*.html': ['.tmp/public/min/production.min.css'],
-				'views/**/*.ejs': ['.tmp/public/min/production.min.css']
-			}
-		},
-
-		// Bring in JST template object
-		devTpl: {
-			options: {
-				startTag: '<!--TEMPLATES-->',
-				endTag: '<!--TEMPLATES END-->',
-				fileTmpl: '<script type="text/javascript" src="%s"></script>',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'.tmp/public/index.html': ['.tmp/public/jst.js'],
-				'views/**/*.html': ['.tmp/public/jst.js'],
-				'views/**/*.ejs': ['.tmp/public/jst.js']
-			}
-		},
-
-		devJsJade: {
-			options: {
-				startTag: '// SCRIPTS',
-				endTag: '// SCRIPTS END',
-				fileTmpl: 'script(src="%s")',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'views/**/*.jade': require('../pipeline').jsFilesToInject
-			}
-		},
-
-		devJsRelativeJade: {
-			options: {
-				startTag: '// SCRIPTS',
-				endTag: '// SCRIPTS END',
-				fileTmpl: 'script(src="%s")',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-			files: {
-				'views/**/*.jade': require('../pipeline').jsFilesToInject
-			}
-		},
-
-		prodJsJade: {
-			options: {
-				startTag: '// SCRIPTS',
-				endTag: '// SCRIPTS END',
-				fileTmpl: 'script(src="%s")',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'views/**/*.jade': ['.tmp/public/min/production.min.js']
-			}
-		},
-
-		prodJsRelativeJade: {
-			options: {
-				startTag: '// SCRIPTS',
-				endTag: '// SCRIPTS END',
-				fileTmpl: 'script(src="%s")',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-			files: {
-				'views/**/*.jade': ['.tmp/public/min/production.min.js']
-			}
-		},
-
-		devStylesJade: {
-			options: {
-				startTag: '// STYLES',
-				endTag: '// STYLES END',
-				fileTmpl: 'link(rel="stylesheet", href="%s")',
-				appRoot: '.tmp/public'
-			},
-
-			files: {
-				'views/**/*.jade': require('../pipeline').cssFilesToInject
-			}
-		},
-
-		devStylesRelativeJade: {
-			options: {
-				startTag: '// STYLES',
-				endTag: '// STYLES END',
-				fileTmpl: 'link(rel="stylesheet", href="%s")',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-
-			files: {
-				'views/**/*.jade': require('../pipeline').cssFilesToInject
-			}
-		},
-
-		prodStylesJade: {
-			options: {
-				startTag: '// STYLES',
-				endTag: '// STYLES END',
-				fileTmpl: 'link(rel="stylesheet", href="%s")',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'views/**/*.jade': ['.tmp/public/min/production.min.css']
-			}
-		},
-
-		prodStylesRelativeJade: {
-			options: {
-				startTag: '// STYLES',
-				endTag: '// STYLES END',
-				fileTmpl: 'link(rel="stylesheet", href="%s")',
-				appRoot: '.tmp/public',
-				relative: true
-			},
-			files: {
-				'views/**/*.jade': ['.tmp/public/min/production.min.css']
-			}
-		},
-
-		// Bring in JST template object
-		devTplJade: {
-			options: {
-				startTag: '// TEMPLATES',
-				endTag: '// TEMPLATES END',
-				fileTmpl: 'script(type="text/javascript", src="%s")',
-				appRoot: '.tmp/public'
-			},
-			files: {
-				'views/**/*.jade': ['.tmp/public/jst.js']
-			}
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-sails-linker');
-};

+ 0 - 27
frameworks/JavaScript/sailsjs/tasks/config/sync.js

@@ -1,27 +0,0 @@
-/**
- * A grunt task to keep directories in sync. It is very similar to grunt-contrib-copy
- * but tries to copy only those files that has actually changed.
- *
- * ---------------------------------------------------------------
- *
- * Synchronize files from the `assets` folder to `.tmp/public`,
- * smashing anything that's already there.
- *
- * For usage docs see:
- * 		https://github.com/tomusdrw/grunt-sync
- *
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('sync', {
-		dev: {
-			files: [{
-				cwd: './assets',
-				src: ['**/*.!(coffee)'],
-				dest: '.tmp/public'
-			}]
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-sync');
-};

+ 0 - 22
frameworks/JavaScript/sailsjs/tasks/config/uglify.js

@@ -1,22 +0,0 @@
-/**
- * Minify files with UglifyJS.
- *
- * ---------------------------------------------------------------
- *
- * Minifies client-side javascript `assets`.
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-uglify
- *
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('uglify', {
-		dist: {
-			src: ['.tmp/public/concat/production.js'],
-			dest: '.tmp/public/min/production.min.js'
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-uglify');
-};

+ 0 - 34
frameworks/JavaScript/sailsjs/tasks/config/watch.js

@@ -1,34 +0,0 @@
-/**
- * Run predefined tasks whenever watched file patterns are added, changed or deleted.
- *
- * ---------------------------------------------------------------
- *
- * Watch for changes on
- * - files in the `assets` folder
- * - the `tasks/pipeline.js` file
- * and re-run the appropriate tasks.
- *
- * For usage docs see:
- * 		https://github.com/gruntjs/grunt-contrib-watch
- *
- */
-module.exports = function(grunt) {
-
-	grunt.config.set('watch', {
-		api: {
-
-			// API files to watch:
-			files: ['api/**/*', '!**/node_modules/**']
-		},
-		assets: {
-
-			// Assets to watch:
-			files: ['assets/**/*', 'tasks/pipeline.js', '!**/node_modules/**'],
-
-			// When assets are changed:
-			tasks: ['syncAssets' , 'linkAssets']
-		}
-	});
-
-	grunt.loadNpmTasks('grunt-contrib-watch');
-};

+ 0 - 64
frameworks/JavaScript/sailsjs/tasks/pipeline.js

@@ -1,64 +0,0 @@
-/**
- * grunt/pipeline.js
- *
- * The order in which your css, javascript, and template files should be
- * compiled and linked from your views and static HTML files.
- *
- * (Note that you can take advantage of Grunt-style wildcard/glob/splat expressions
- * for matching multiple files.)
- */
-
-
-
-// CSS files to inject in order
-//
-// (if you're using LESS with the built-in default config, you'll want
-//  to change `assets/styles/importer.less` instead.)
-var cssFilesToInject = [
-  'styles/**/*.css'
-];
-
-
-// Client-side javascript files to inject in order
-// (uses Grunt-style wildcard/glob/splat expressions)
-var jsFilesToInject = [
-  
-  // Load sails.io before everything else
-  'js/dependencies/sails.io.js',
-
-  // Dependencies like jQuery, or Angular are brought in here
-  'js/dependencies/**/*.js',
-
-  // All of the rest of your client-side js files
-  // will be injected here in no particular order.
-  'js/**/*.js'
-];
-
-
-// Client-side HTML templates are injected using the sources below
-// The ordering of these templates shouldn't matter.
-// (uses Grunt-style wildcard/glob/splat expressions)
-//
-// By default, Sails uses JST templates and precompiles them into
-// functions for you.  If you want to use jade, handlebars, dust, etc.,
-// with the linker, no problem-- you'll just want to make sure the precompiled
-// templates get spit out to the same file.  Be sure and check out `tasks/README.md`
-// for information on customizing and installing new tasks.
-var templateFilesToInject = [
-  'templates/**/*.html'
-];
-
-
-
-// Prefix relative paths to source files so they point to the proper locations
-// (i.e. where the other Grunt tasks spit them out, or in some cases, where
-// they reside in the first place)
-module.exports.cssFilesToInject = cssFilesToInject.map(function(path) {
-  return '.tmp/public/' + path;
-});
-module.exports.jsFilesToInject = jsFilesToInject.map(function(path) {
-  return '.tmp/public/' + path;
-});
-module.exports.templateFilesToInject = templateFilesToInject.map(function(path) {
-  return 'assets/' + path;
-});

+ 0 - 8
frameworks/JavaScript/sailsjs/tasks/register/build.js

@@ -1,8 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('build', [
-		'compileAssets',
-		'linkAssetsBuild',
-		'clean:build',
-		'copy:build'
-	]);
-};

+ 0 - 11
frameworks/JavaScript/sailsjs/tasks/register/buildProd.js

@@ -1,11 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('buildProd', [
-		'compileAssets',
-		'concat',
-		'uglify',
-		'cssmin',
-		'linkAssetsBuildProd',
-		'clean:build',
-		'copy:build'
-	]);
-};

+ 0 - 9
frameworks/JavaScript/sailsjs/tasks/register/compileAssets.js

@@ -1,9 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('compileAssets', [
-		'clean:dev',
-		'jst:dev',
-		'less:dev',
-		'copy:dev',
-		'coffee:dev'
-	]);
-};

+ 0 - 3
frameworks/JavaScript/sailsjs/tasks/register/default.js

@@ -1,3 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('default', ['compileAssets', 'linkAssets',  'watch']);
-};

+ 0 - 10
frameworks/JavaScript/sailsjs/tasks/register/linkAssets.js

@@ -1,10 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('linkAssets', [
-		'sails-linker:devJs',
-		'sails-linker:devStyles',
-		'sails-linker:devTpl',
-		'sails-linker:devJsJade',
-		'sails-linker:devStylesJade',
-		'sails-linker:devTplJade'
-	]);
-};

+ 0 - 10
frameworks/JavaScript/sailsjs/tasks/register/linkAssetsBuild.js

@@ -1,10 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('linkAssetsBuild', [
-		'sails-linker:devJsRelative',
-		'sails-linker:devStylesRelative',
-		'sails-linker:devTpl',
-		'sails-linker:devJsRelativeJade',
-		'sails-linker:devStylesRelativeJade',
-		'sails-linker:devTplJade'
-	]);
-};

+ 0 - 10
frameworks/JavaScript/sailsjs/tasks/register/linkAssetsBuildProd.js

@@ -1,10 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('linkAssetsBuildProd', [
-		'sails-linker:prodJsRelative',
-		'sails-linker:prodStylesRelative',
-		'sails-linker:devTpl',
-		'sails-linker:prodJsRelativeJade',
-		'sails-linker:prodStylesRelativeJade',
-		'sails-linker:devTplJade'
-	]);
-};

+ 0 - 14
frameworks/JavaScript/sailsjs/tasks/register/prod.js

@@ -1,14 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('prod', [
-		'compileAssets',
-		'concat',
-		'uglify',
-		'cssmin',
-		'sails-linker:prodJs',
-		'sails-linker:prodStyles',
-		'sails-linker:devTpl',
-		'sails-linker:prodJsJade',
-		'sails-linker:prodStylesJade',
-		'sails-linker:devTplJade'
-	]);
-};

+ 0 - 8
frameworks/JavaScript/sailsjs/tasks/register/syncAssets.js

@@ -1,8 +0,0 @@
-module.exports = function (grunt) {
-	grunt.registerTask('syncAssets', [
-		'jst:dev',
-		'less:dev',
-		'sync:dev',
-		'coffee:dev'
-	]);
-};

Some files were not shown because too many files changed in this diff