From 65926f0e1b8ab5b2f455920588c2b471cba2b87b Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Tue, 24 Jul 2018 15:15:30 +0200 Subject: [PATCH 01/10] Update .travis.yml --- .travis.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2f1969e..767cae1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,10 @@ sudo: false language: node_js node_js: - - '5' + - '10' + - '8' + - '6' - '4' - - '3' - - '2' - - '1' - - '0.12' - - '0.10' - - '0.8' notifications: email: on_success: never From aee47dbab1a548c251d453e1659dcfdc72e7feb6 Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Mon, 24 Jun 2019 18:01:02 +0200 Subject: [PATCH 02/10] Update .travis.yml --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 767cae1..683b3f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ sudo: false language: node_js node_js: + - '12' - '10' - '8' - '6' From 816ecae8c99cfed1dad5743efcccdd9f5f42c34b Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Mon, 24 Jun 2019 18:42:21 +0200 Subject: [PATCH 03/10] Upgrade deps --- .gitignore | 66 +++++++++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 435e4bb..2676f60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,63 @@ -node_modules -npm-debug.log -*.swp +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next + +package-lock.json diff --git a/package.json b/package.json index 47aff32..dcdc74f 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ ], "dependencies": {}, "devDependencies": { - "vows": "0.7.0" + "vows": "^0.8.2" }, "engines": { "node": ">=0.4" From 4d62cfe805abf1bfb6b184a78f46673d20cf6666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Allonneau?= Date: Tue, 3 Dec 2019 23:06:23 +0100 Subject: [PATCH 04/10] Fixed "Custom human" example in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37ca209..23f4c22 100644 --- a/README.md +++ b/README.md @@ -144,7 +144,7 @@ inflect.singularize('guys'); // === 'person' ```js inflect.inflections.human(/^(.*)_cnt$/i, '$1_count'); -inflect.inflections.humanize('jargon_cnt'); // === 'Jargon count' +inflect.humanize('jargon_cnt'); // === 'Jargon count' ``` ### Custom uncountable From 2f47b1c222ce9d66ddbda74182261e691f12e3cf Mon Sep 17 00:00:00 2001 From: Brian Maher Date: Tue, 2 Jun 2020 08:57:33 -0700 Subject: [PATCH 05/10] Please add copyright information to the license --- LICENSE | 2 ++ 1 file changed, 2 insertions(+) diff --git a/LICENSE b/LICENSE index c9b44cb..ad36af3 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,5 @@ +Copyright (C) 2020 Pavan Kumar Sunkara + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including From e84c23a4b04e70e951f0969b51407b620faf3340 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 29 Apr 2021 19:56:16 +0000 Subject: [PATCH 06/10] Upgrade to GitHub-native Dependabot --- .github/dependabot.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..9dcd158 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: +- package-ecosystem: npm + directory: "/" + schedule: + interval: daily + time: "04:00" + open-pull-requests-limit: 10 From dace42bb6b2fcd26b8c116672c39c2a8d326c063 Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Tue, 21 Sep 2021 16:00:52 +0530 Subject: [PATCH 07/10] Move away from travis --- .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ .travis.yml | 11 ----------- 2 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0c3b3a5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +name: CI +on: + push: + branches: [master] + pull_request: + branches: [master] + types: [opened, reopened, synchronize] +jobs: + test: + name: Tests + strategy: + fail-fast: true + matrix: + node: [4, 6, 8, 10, 12, 14] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install Node.js + uses: actions/setup-node@v2-beta + with: + node-version: ${{ matrix.node }} + - name: Install dependencies + run: npm install + - name: Test + run: npm test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 683b3f3..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -sudo: false -language: node_js -node_js: - - '12' - - '10' - - '8' - - '6' - - '4' -notifications: - email: - on_success: never From c025e153df847bbb2873ae75b1a7bd77b0526745 Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Tue, 21 Sep 2021 16:19:12 +0530 Subject: [PATCH 08/10] Fix formatting --- lib/defaults.js | 16 +++++++++++++--- lib/inflect.js | 2 +- lib/inflections.js | 48 +++++++++++++++++++++++++++++++--------------- lib/methods.js | 38 +++++++++++++++++++----------------- lib/native.js | 41 +++++++++++++++++++++++++++++++-------- lib/util.js | 38 ++++++++++++++++++------------------ 6 files changed, 119 insertions(+), 64 deletions(-) diff --git a/lib/defaults.js b/lib/defaults.js index 05bdaf2..859d464 100644 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -1,6 +1,5 @@ // Default inflections module.exports = function (inflect) { - inflect.plural(/$/, 's'); inflect.plural(/s$/i, 's'); inflect.plural(/(ax|test)is$/i, '$1es'); @@ -64,5 +63,16 @@ module.exports = function (inflect) { inflect.irregular('safe', 'safes'); inflect.irregular('fife', 'fifes'); - inflect.uncountable(['equipment', 'information', 'rice', 'money', 'species', 'series', 'fish', 'sheep', 'jeans', 'sushi']); -} + inflect.uncountable([ + 'equipment', + 'information', + 'rice', + 'money', + 'species', + 'series', + 'fish', + 'sheep', + 'jeans', + 'sushi', + ]); +}; diff --git a/lib/inflect.js b/lib/inflect.js index 5e0cc70..ea5c230 100644 --- a/lib/inflect.js +++ b/lib/inflect.js @@ -7,5 +7,5 @@ module.exports = function (attach) { require('./native')(methods); } - return methods + return methods; }; diff --git a/lib/inflections.js b/lib/inflections.js index 1972551..cde19c6 100644 --- a/lib/inflections.js +++ b/lib/inflections.js @@ -49,24 +49,42 @@ Inflections.prototype.singular = function (rule, replacement) { // // irregular 'octopus', 'octopi' // irregular 'person', 'people' -Inflections.prototype.irregular = function (singular, plural, fullMatchRequired) { +Inflections.prototype.irregular = function (singular, plural, fullMatchRequired) { this.uncountables = util.array.del(this.uncountables, singular); this.uncountables = util.array.del(this.uncountables, plural); - var prefix = ""; + var prefix = ''; if (fullMatchRequired) { - prefix = "^"; + prefix = '^'; } if (singular[0].toUpperCase() == plural[0].toUpperCase()) { - this.plural(new RegExp("(" + prefix + singular[0] + ")" + singular.slice(1) + "$", "i"), '$1' + plural.slice(1)); - this.plural(new RegExp("(" + prefix + plural[0] + ")" + plural.slice(1) + "$", "i"), '$1' + plural.slice(1)); - this.singular(new RegExp("(" + prefix + plural[0] + ")" + plural.slice(1) + "$", "i"), '$1' + singular.slice(1)); + this.plural(new RegExp('(' + prefix + singular[0] + ')' + singular.slice(1) + '$', 'i'), '$1' + plural.slice(1)); + this.plural(new RegExp('(' + prefix + plural[0] + ')' + plural.slice(1) + '$', 'i'), '$1' + plural.slice(1)); + this.singular(new RegExp('(' + prefix + plural[0] + ')' + plural.slice(1) + '$', 'i'), '$1' + singular.slice(1)); } else { - this.plural(new RegExp(prefix + (singular[0].toUpperCase()) + singular.slice(1) + "$"), plural[0].toUpperCase() + plural.slice(1)); - this.plural(new RegExp(prefix + (singular[0].toLowerCase()) + singular.slice(1) + "$"), plural[0].toLowerCase() + plural.slice(1)); - this.plural(new RegExp(prefix + (plural[0].toUpperCase()) + plural.slice(1) + "$"), plural[0].toUpperCase() + plural.slice(1)); - this.plural(new RegExp(prefix + (plural[0].toLowerCase()) + plural.slice(1) + "$"), plural[0].toLowerCase() + plural.slice(1)); - this.singular(new RegExp(prefix + (plural[0].toUpperCase()) + plural.slice(1) + "$"), singular[0].toUpperCase() + singular.slice(1)); - this.singular(new RegExp(prefix + (plural[0].toLowerCase()) + plural.slice(1) + "$"), singular[0].toLowerCase() + singular.slice(1)); + this.plural( + new RegExp(prefix + singular[0].toUpperCase() + singular.slice(1) + '$'), + plural[0].toUpperCase() + plural.slice(1) + ); + this.plural( + new RegExp(prefix + singular[0].toLowerCase() + singular.slice(1) + '$'), + plural[0].toLowerCase() + plural.slice(1) + ); + this.plural( + new RegExp(prefix + plural[0].toUpperCase() + plural.slice(1) + '$'), + plural[0].toUpperCase() + plural.slice(1) + ); + this.plural( + new RegExp(prefix + plural[0].toLowerCase() + plural.slice(1) + '$'), + plural[0].toLowerCase() + plural.slice(1) + ); + this.singular( + new RegExp(prefix + plural[0].toUpperCase() + plural.slice(1) + '$'), + singular[0].toUpperCase() + singular.slice(1) + ); + this.singular( + new RegExp(prefix + plural[0].toLowerCase() + plural.slice(1) + '$'), + singular[0].toLowerCase() + singular.slice(1) + ); } }; @@ -78,7 +96,7 @@ Inflections.prototype.irregular = function (singular, plural, fullMatchRequired // human "legacy_col_person_name", "Name" Inflections.prototype.human = function (rule, replacement) { this.humans.unshift([rule, replacement]); -} +}; // Add uncountable words that shouldn't be attempted inflected. // @@ -86,7 +104,7 @@ Inflections.prototype.human = function (rule, replacement) { // uncountable ["money", "information"] Inflections.prototype.uncountable = function (words) { this.uncountables = this.uncountables.concat(words); -} +}; // Clears the loaded inflections within a given scope (default is _'all'_). // Give the scope as a symbol of the inflection type, the options are: _'plurals'_, @@ -105,7 +123,7 @@ Inflections.prototype.clear = function (scope) { default: this[scope] = []; } -} +}; // Clears the loaded inflections and initializes them to [default](../inflections.html) Inflections.prototype.default = function () { diff --git a/lib/methods.js b/lib/methods.js index 8bbc9be..00f83ce 100644 --- a/lib/methods.js +++ b/lib/methods.js @@ -10,7 +10,7 @@ var util = require('./util'); var inflect = module.exports; // Import [inflections](inflections.html) instance -inflect.inflections = require('./inflections') +inflect.inflections = require('./inflections'); // Gives easy access to add inflections to this class inflect.inflect = function (fn) { @@ -31,13 +31,13 @@ inflect.inflect = function (fn) { // though there are cases where that does not hold: // // "SSLError".underscore.camelize // => "SslError" -inflect.camelize = function(lower_case_and_underscored_word, first_letter_in_uppercase) { +inflect.camelize = function (lower_case_and_underscored_word, first_letter_in_uppercase) { var result; if (first_letter_in_uppercase == null) first_letter_in_uppercase = true; - result = util.string.gsub(lower_case_and_underscored_word, /\/(.?)/, function($) { - return "." + (util.string.upcase($[1])); + result = util.string.gsub(lower_case_and_underscored_word, /\/(.?)/, function ($) { + return '.' + util.string.upcase($[1]); }); - result = util.string.gsub(result, /(?:_)(.)/, function($) { + result = util.string.gsub(result, /(?:_)(.)/, function ($) { return util.string.upcase($[1]); }); if (first_letter_in_uppercase) { @@ -61,8 +61,8 @@ inflect.camelize = function(lower_case_and_underscored_word, first_letter_in_upp inflect.underscore = function (camel_cased_word) { var self; self = util.string.gsub(camel_cased_word, /\./, '/'); - self = util.string.gsub(self, /([A-Z]+)([A-Z][a-z])/, "$1_$2"); - self = util.string.gsub(self, /([a-z\d])([A-Z])/, "$1_$2"); + self = util.string.gsub(self, /([A-Z]+)([A-Z][a-z])/, '$1_$2'); + self = util.string.gsub(self, /([a-z\d])([A-Z])/, '$1_$2'); self = util.string.gsub(self, /-/, '_'); return self.toLowerCase(); }; @@ -93,7 +93,9 @@ inflect.foreign_key = function (class_name, separate_class_name_and_id_with_unde if (separate_class_name_and_id_with_underscore == null) { separate_class_name_and_id_with_underscore = true; } - return inflect.underscore(inflect.demodulize(class_name)) + (separate_class_name_and_id_with_underscore ? "_id" : "id"); + return ( + inflect.underscore(inflect.demodulize(class_name)) + (separate_class_name_and_id_with_underscore ? '_id' : 'id') + ); }; // Turns a number into an ordinal string used to denote the position in an @@ -109,17 +111,17 @@ inflect.ordinalize = function (number) { var _ref; number = parseInt(number); if ((_ref = Math.abs(number) % 100) === 11 || _ref === 12 || _ref === 13) { - return "" + number + "th"; + return '' + number + 'th'; } else { switch (Math.abs(number) % 10) { case 1: - return "" + number + "st"; + return '' + number + 'st'; case 2: - return "" + number + "nd"; + return '' + number + 'nd'; case 3: - return "" + number + "rd"; + return '' + number + 'rd'; default: - return "" + number + "th"; + return '' + number + 'th'; } } }; @@ -129,8 +131,8 @@ inflect.ordinalize = function (number) { // "money".uncountability() // => true // "my money".uncountability() // => true inflect.uncountability = function (word) { - return inflect.inflections.uncountables.some(function(ele, ind, arr) { - return word.match(new RegExp("(\\b|_)" + ele + "$", 'i')) != null; + return inflect.inflections.uncountables.some(function (ele, ind, arr) { + return word.match(new RegExp('(\\b|_)' + ele + '$', 'i')) != null; }); }; @@ -190,8 +192,8 @@ inflect.humanize = function (lower_case_and_underscored_word) { human = inflect.inflections.humans[i]; result = util.string.gsub(result, human[0], human[1]); } - result = util.string.gsub(result, /_id$/, ""); - result = util.string.gsub(result, /_/, " "); + result = util.string.gsub(result, /_id$/, ''); + result = util.string.gsub(result, /_/, ' '); return util.string.capitalize(result, true); }; @@ -229,4 +231,4 @@ inflect.tableize = function (class_name) { // "business".classify() // => "Busines" inflect.classify = function (table_name) { return inflect.camelize(inflect.singularize(util.string.gsub(table_name, /.*\./, ''))); -} +}; diff --git a/lib/native.js b/lib/native.js index d2c8de1..3c944c7 100644 --- a/lib/native.js +++ b/lib/native.js @@ -1,14 +1,40 @@ module.exports = function (obj) { - var addProperty = function (method, func) { String.prototype.__defineGetter__(method, func); - } + }; var stringPrototypeBlacklist = [ - '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', 'charAt', 'constructor', - 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf', 'charCodeAt', - 'indexOf', 'lastIndexof', 'length', 'localeCompare', 'match', 'replace', 'search', 'slice', 'split', 'substring', - 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight', 'gsub' + '__defineGetter__', + '__defineSetter__', + '__lookupGetter__', + '__lookupSetter__', + 'charAt', + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf', + 'charCodeAt', + 'indexOf', + 'lastIndexof', + 'length', + 'localeCompare', + 'match', + 'replace', + 'search', + 'slice', + 'split', + 'substring', + 'toLocaleLowerCase', + 'toLocaleUpperCase', + 'toLowerCase', + 'toUpperCase', + 'trim', + 'trimLeft', + 'trimRight', + 'gsub', ]; Object.keys(obj).forEach(function (key) { @@ -22,5 +48,4 @@ module.exports = function (obj) { } } }); - -} +}; diff --git a/lib/util.js b/lib/util.js index 7af707d..183ae6e 100644 --- a/lib/util.js +++ b/lib/util.js @@ -1,6 +1,6 @@ // Some utility functions in js -var u = module.exports = { +var u = (module.exports = { array: { // Returns a copy of the array with the value removed once // @@ -11,9 +11,9 @@ var u = module.exports = { if (index != -1) { if (index == 0) { - return arr.slice(1) + return arr.slice(1); } else { - return arr.slice(0, index).concat(arr.slice(index+1)); + return arr.slice(0, index).concat(arr.slice(index + 1)); } } else { return arr; @@ -23,16 +23,16 @@ var u = module.exports = { // Returns the first element of the array // // [1, 2, 3].first() #=> 1 - first: function(arr) { + first: function (arr) { return arr[0]; }, // Returns the last element of the array // // [1, 2, 3].last() #=> 3 - last: function(arr) { - return arr[arr.length-1]; - } + last: function (arr) { + return arr[arr.length - 1]; + }, }, string: { // Returns a copy of str with all occurrences of pattern replaced with either replacement or the return value of a function. @@ -52,7 +52,7 @@ var u = module.exports = { // gsub: function (str, pattern, replacement) { var i, match, matchCmpr, matchCmprPrev, replacementStr, result, self; - if (!((pattern != null) && (replacement != null))) return u.string.value(str); + if (!(pattern != null && replacement != null)) return u.string.value(str); result = ''; self = str; while (self.length > 0) { @@ -72,7 +72,7 @@ var u = module.exports = { replacementStr = replacement; for (i = 1; i <= 9; i++) { if (matchCmpr[i]) { - replacementStr = u.string.gsub(replacementStr, new RegExp("\\\$" + i), matchCmpr[i]); + replacementStr = u.string.gsub(replacementStr, new RegExp('\\$' + i), matchCmpr[i]); } } result += replacementStr; @@ -91,13 +91,13 @@ var u = module.exports = { // Returns a copy of the String with the first letter being upper case // // "hello".upcase #=> "Hello" - upcase: function(str) { + upcase: function (str) { var self = u.string.gsub(str, /_([a-z])/, function ($) { - return "_" + $[1].toUpperCase(); + return '_' + $[1].toUpperCase(); }); self = u.string.gsub(self, /\/([a-z])/, function ($) { - return "/" + $[1].toUpperCase(); + return '/' + $[1].toUpperCase(); }); return self[0].toUpperCase() + self.substr(1); @@ -115,7 +115,7 @@ var u = module.exports = { if (!spaces) { self = u.string.gsub(self, /\s([a-z])/, function ($) { - return " " + $[1].toUpperCase(); + return ' ' + $[1].toUpperCase(); }); } @@ -125,13 +125,13 @@ var u = module.exports = { // Returns a copy of the String with the first letter being lower case // // "HELLO".downcase #=> "hELLO" - downcase: function(str) { + downcase: function (str) { var self = u.string.gsub(str, /_([A-Z])/, function ($) { - return "_" + $[1].toLowerCase(); + return '_' + $[1].toLowerCase(); }); self = u.string.gsub(self, /\/([A-Z])/, function ($) { - return "/" + $[1].toLowerCase(); + return '/' + $[1].toLowerCase(); }); return self[0].toLowerCase() + self.substr(1); @@ -142,6 +142,6 @@ var u = module.exports = { // "hello".value() #=> "hello" value: function (str) { return str.substr(0); - } - } -} + }, + }, +}); From a9a0a8e9561c3487854c7cae42565d9652ec858b Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Tue, 21 Sep 2021 16:19:42 +0530 Subject: [PATCH 09/10] Fix CVE-2021-3820 --- lib/methods.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/methods.js b/lib/methods.js index 00f83ce..450e63f 100644 --- a/lib/methods.js +++ b/lib/methods.js @@ -61,7 +61,7 @@ inflect.camelize = function (lower_case_and_underscored_word, first_letter_in_up inflect.underscore = function (camel_cased_word) { var self; self = util.string.gsub(camel_cased_word, /\./, '/'); - self = util.string.gsub(self, /([A-Z]+)([A-Z][a-z])/, '$1_$2'); + self = util.string.gsub(self, /([A-Z])([A-Z][a-z])/, '$1_$2'); self = util.string.gsub(self, /([a-z\d])([A-Z])/, '$1_$2'); self = util.string.gsub(self, /-/, '_'); return self.toLowerCase(); @@ -230,5 +230,5 @@ inflect.tableize = function (class_name) { // // "business".classify() // => "Busines" inflect.classify = function (table_name) { - return inflect.camelize(inflect.singularize(util.string.gsub(table_name, /.*\./, ''))); + return inflect.camelize(inflect.singularize(util.string.gsub(table_name, /^.*\./, ''))); }; From 71961bd70c2f516e03a1a73538f783ada3aab2c0 Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Tue, 21 Sep 2021 16:20:20 +0530 Subject: [PATCH 10/10] Version bump v0.3.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dcdc74f..0c27c7b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "i", - "version": "0.3.6", + "version": "0.3.7", "author": "Pavan Kumar Sunkara (pksunkara.github.com)", "description": "custom inflections for nodejs", "main": "./lib/inflect",