diff --git a/lib/app/Sails.js b/lib/app/Sails.js index a7bcd3e8f..b64417d19 100644 --- a/lib/app/Sails.js +++ b/lib/app/Sails.js @@ -148,14 +148,5 @@ Sails.prototype.toJSON = require('./private/toJSON'); // Controller Sails.prototype.initializeController = require('./private/controller'); -// Utilities -// Includes lodash, node's `util`, and a few additional -// static helper methods. -// (may be deprecated in a future release) -Sails.prototype.util = require('sails-util'); - - - - // Expose Sails constructor module.exports = Sails; diff --git a/lib/app/configuration/load.js b/lib/app/configuration/load.js index 3f143f128..e5ccd0e4e 100644 --- a/lib/app/configuration/load.js +++ b/lib/app/configuration/load.js @@ -6,6 +6,7 @@ var _ = require('lodash'); var async = require('async'); var CaptainsLog = require('captains-log'); var path = require('path'); +var fs = require('fs'); module.exports = function(sails) { @@ -104,17 +105,13 @@ module.exports = function(sails) { versionAndDependencyInfo: function(cb) { var pathToThisVersionOfSails = path.join(__dirname, '../../..'); - sails.util.getPackage(pathToThisVersionOfSails, function(err, json) { - if (err) return cb(err); - - sails.version = json.version; - sails.majorVersion = sails.version.split('.')[0].replace(/[^0-9]/g, ''); - sails.minorVersion = sails.version.split('.')[1].replace(/[^0-9]/g, ''); - sails.patchVersion = sails.version.split('.')[2].replace(/[^0-9]/g, ''); - sails.dependencies = json.dependencies; - - cb(); - }); + var json; + try { + json = JSON.parse(fs.readFileSync(path.resolve(pathToThisVersionOfSails, 'package.json'), 'utf8')); + } catch (e) { + return cb(e); + } + cb(); }, diff --git a/lib/app/private/controller/load-modules.js b/lib/app/private/controller/load-modules.js index 414ba2e0f..7a5c22b4c 100644 --- a/lib/app/private/controller/load-modules.js +++ b/lib/app/private/controller/load-modules.js @@ -4,7 +4,6 @@ var path = require('path'); var _ = require('lodash'); var includeAll = require('include-all'); -var sailsUtil = require('sails-util'); module.exports = function (results, cb) { @@ -55,7 +54,7 @@ module.exports = function (results, cb) { if (match) { // If it looks like a traditional controller, but it's not a dictionary, // throw it in the can. - if (!sailsUtil.isDictionary(module)) { + if (!_.isObject(module) || _.isArray(module) || _.isFunction(module)) { return garbage.push(filePath); } // Get the controller identity (e.g. /somefolder/somecontroller) diff --git a/lib/app/private/isLocalSailsValid.js b/lib/app/private/isLocalSailsValid.js index 3dda9a718..393cf35db 100644 --- a/lib/app/private/isLocalSailsValid.js +++ b/lib/app/private/isLocalSailsValid.js @@ -4,7 +4,6 @@ var fs = require('fs'); var CaptainsLog = require('captains-log'); -var sailsutil = require('sails-util'); var semver = require('semver'); var Err = require('../../../errors'); @@ -21,20 +20,30 @@ module.exports = function isLocalSailsValid(sailsPath, appPath) { var sails = this; + var appPackageJSON, appDependencies; + // Has no package.json file if (!fs.existsSync(appPath + '/package.json')) { Err.warn.noPackageJSON(); } + else { + // Load this app's package.json and dependencies + try { + appPackageJSON = JSON.parse(fs.readFileSync(path.resolve(appPath, 'package.json'), 'utf8')); + } catch (e) { + Err.warn.notSailsApp(); + return; + } - // Load this app's package.json and dependencies - var appPackageJSON = sailsutil.getPackageSync(appPath); - var appDependencies = appPackageJSON.dependencies; + appDependencies = appPackageJSON.dependencies; - // Package.json exists, but doesn't list Sails as a dependency - if (!(appDependencies && appDependencies.sails)) { - Err.warn.notSailsApp(); - return; + // Package.json exists, but doesn't list Sails as a dependency + if (!(appDependencies && appDependencies.sails)) { + Err.warn.notSailsApp(); + return; + } + } // Ensure the target Sails exists @@ -43,15 +52,15 @@ module.exports = function isLocalSailsValid(sailsPath, appPath) { } // Read the package.json in the local installation of Sails - var sailsPackageJSON = sailsutil.getPackageSync(sailsPath); - - // Local Sails has a corrupted package.json - if (!sailsPackageJSON) { + var sailsPackageJSON; + try { + sailsPackageJSON = JSON.parse(fs.readFileSync(path.resolve(sailsPath, 'package.json'), 'utf8')); + } catch (e) { + // Local Sails has a missing or corrupted package.json Err.warn.badLocalDependency(sailsPath, appDependencies.sails); return; } - // Lookup sails dependency requirement in app's package.json var requiredSailsVersion = appDependencies.sails; diff --git a/lib/app/private/isSailsAppSync.js b/lib/app/private/isSailsAppSync.js index 9eb5b4f6f..fc2fcb62b 100644 --- a/lib/app/private/isSailsAppSync.js +++ b/lib/app/private/isSailsAppSync.js @@ -2,10 +2,8 @@ * Module dependencies */ -var fs = require('fs'), - path = require('path'), - sailsutil = require('sails-util'); - +var fs = require('fs'); +var path = require('path'); /** @@ -22,7 +20,12 @@ module.exports = function isSailsAppSync(appPath) { } // Package.json exists, but doesn't list Sails as a dependency - var appPackageJSON = sailsutil.getPackageSync(appPath); + var appPackageJSON; + try { + appPackageJSON = JSON.parse(fs.readFileSync(path.resolve(appPath, 'package.json'), 'utf8')); + } catch (e) { + return false; + } var appDependencies = appPackageJSON.dependencies; if (!(appDependencies && appDependencies.sails)) { return false; diff --git a/lib/hooks/policies/index.js b/lib/hooks/policies/index.js index 4a28e5554..fc4b23f05 100644 --- a/lib/hooks/policies/index.js +++ b/lib/hooks/policies/index.js @@ -1,5 +1,4 @@ var _ = require('lodash'); -var util = require('sails-util'); var Err = require('../../../errors'); module.exports = function(sails) { @@ -26,9 +25,6 @@ module.exports = function(sails) { */ initialize: function(cb) { - // Callback is optional - cb = util.optional(cb); - // Grab policies config & policy modules and trigger callback this.loadMiddleware(function (err) { if (err) { return cb(err); } diff --git a/lib/hooks/request/locals.js b/lib/hooks/request/locals.js index ef1cf50c7..b1003d2ce 100644 --- a/lib/hooks/request/locals.js +++ b/lib/hooks/request/locals.js @@ -1,22 +1,20 @@ /** * Module dependencies */ -var _ = require('lodash'), - util = require('sails-util'); - +var _ = require('lodash'); /** * default locals * * Always share some basic metadata with views. * Roughly analogous to `app.locals` in Express. - * + * * > Application local variables are provided to all templates rendered * > within the application. This is useful for providing helper functions * > to templates, as well as app-level data. * > * > http://expressjs.com/api.html#app.locals - * + * * @param {Request} req * @param {Response} res * @api private @@ -35,16 +33,10 @@ module.exports = function _mixinLocals(req, res) { _.extend(res.locals, { _: _, - util: util, session: req.session, req: req, res: res, sails: req._sails }); - // May be deprecated in an upcoming release: - res.locals.title = req._sails.config.appName; - if (req.options.action) { - ' | ' + util.str.capitalize(req.param('action')); - } }; diff --git a/lib/hooks/security/csrf/index.js b/lib/hooks/security/csrf/index.js index 0f33fa299..e9318b226 100644 --- a/lib/hooks/security/csrf/index.js +++ b/lib/hooks/security/csrf/index.js @@ -5,7 +5,6 @@ module.exports = function(sails) { */ var _ = require('lodash'); - var util = require('sails-util'); var pathToRegexp = require('path-to-regexp'); var grantCsrfToken = require('./grant-csrf-token'); diff --git a/package.json b/package.json index 4035dad37..2acda1571 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,6 @@ "sails-hook-orm": "~1.0.6", "sails-hook-sockets": "^1.0.0", "sails-stringfile": "~0.3.2", - "sails-util": "~0.11.0", "semver": "4.3.6", "serve-favicon": "2.3.0", "serve-static": "1.10.2",