necessary 13.5.6 → 13.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -330,9 +330,10 @@ function contentFromResponse(response, callback) {
330
330
  - `getAuthor()`
331
331
  - `getVersion()`
332
332
  - `getLicense()`
333
+ - `getPackagePath()`
333
334
  - `getPackageJSON()`
334
335
 
335
- A `getPackageJSON()` function for retrieving the contents of the `package.json` file together with a few helper functions to retrieve the more common entries.
336
+ A `getPackageJSON()` function for retrieving the contents of the `package.json` file together with a few helper functions to retrieve the more common entries and a `packagePath()` function that returns the package's path.
336
337
 
337
338
  * The `getName()`, `getAuthor()`, `getVersion()` and `getLicense()` functions return the value of the requisite entries in the `package.json` file.
338
339
 
@@ -342,6 +343,12 @@ const version = getVersion(); // Returns the package version.
342
343
 
343
344
  From here the package's JSON can be destructured to recover specific entries not covered by the above helper functions.
344
345
 
346
+ * The `getPackagePath()` function returns the path of the package, that is, the full path of the directory that contains the package in any `node_modules` directory.
347
+
348
+ ```
349
+ const packagePath = getPackagePath(); // Returns the package's path.
350
+ ```
351
+
345
352
  * The `getPackageJSON()` function returns the contents of `pakcage.json` file in JSON form.
346
353
 
347
354
  ```
@@ -24,6 +24,9 @@ _export(exports, {
24
24
  getPackageJSON: function() {
25
25
  return getPackageJSON;
26
26
  },
27
+ getPackagePath: function() {
28
+ return getPackagePath;
29
+ },
27
30
  getVersion: function() {
28
31
  return getVersion;
29
32
  }
@@ -49,9 +52,14 @@ function getLicense() {
49
52
  var packageJSON = getPackageJSON(), _packageJSON_license = packageJSON.license, license = _packageJSON_license === void 0 ? null : _packageJSON_license;
50
53
  return license;
51
54
  }
55
+ function getPackagePath() {
56
+ var dirname = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : __dirname;
57
+ var matches = dirname.match(/^(.+)[\/\\]node_modules/), secondMatch = (0, _array.second)(matches), packagePath = secondMatch; ///
58
+ return packagePath;
59
+ }
52
60
  function getPackageJSON() {
53
61
  if (packageJSON === null) {
54
- var utilitiesDirectoryName = __dirname, matches = utilitiesDirectoryName.match(/^(.+)[\/\\]node_modules/), secondMatch = (0, _array.second)(matches), applicationDirectoryName = secondMatch, packageJSONFilePath = (0, _path.concatenatePaths)(applicationDirectoryName, PACKAGE_JSON), packageJSONFileContent = (0, _fileSystem.readFile)(packageJSONFilePath);
62
+ var packagePath = getPackagePath(), packageJSONFilePath = (0, _path.concatenatePaths)(packagePath, PACKAGE_JSON), packageJSONFileContent = (0, _fileSystem.readFile)(packageJSONFilePath);
55
63
  packageJSON = JSON.parse(packageJSONFileContent);
56
64
  }
57
65
  return packageJSON;
@@ -61,7 +69,8 @@ var _default = {
61
69
  getAuthor: getAuthor,
62
70
  getVersion: getVersion,
63
71
  getLicense: getLicense,
72
+ getPackagePath: getPackagePath,
64
73
  getPackageJSON: getPackageJSON
65
74
  };
66
75
 
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFja2FnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgeyBQQUNLQUdFX0pTT04gfSA9IHJlcXVpcmUoXCIuLi9jb25zdGFudHNcIik7XG5cbmltcG9ydCB7IHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlU3lzdGVtXCI7XG5pbXBvcnQgeyBjb25jYXRlbmF0ZVBhdGhzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wYXRoXCI7XG5cbmxldCBwYWNrYWdlSlNPTiA9IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROYW1lKCkge1xuICBjb25zdCBwYWNrYWdlSlNPTiA9IGdldFBhY2thZ2VKU09OKCksXG4gICAgICAgIHsgbmFtZSA9IG51bGwgfSA9IHBhY2thZ2VKU09OO1xuXG4gIHJldHVybiBuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0aG9yKCkge1xuICBjb25zdCBwYWNrYWdlSlNPTiA9IGdldFBhY2thZ2VKU09OKCksXG4gICAgICAgIHsgYXV0aG9yID0gbnVsbCB9ID0gcGFja2FnZUpTT047XG5cbiAgcmV0dXJuIGF1dGhvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb24oKSB7XG4gIGNvbnN0IHBhY2thZ2VKU09OID0gZ2V0UGFja2FnZUpTT04oKSxcbiAgICAgICAgeyB2ZXJzaW9uID0gbnVsbCB9ID0gcGFja2FnZUpTT047XG5cbiAgcmV0dXJuIHZlcnNpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaWNlbnNlKCkge1xuICBjb25zdCBwYWNrYWdlSlNPTiA9IGdldFBhY2thZ2VKU09OKCksXG4gICAgICAgIHsgbGljZW5zZSA9IG51bGwgfSA9IHBhY2thZ2VKU09OO1xuXG4gIHJldHVybiBsaWNlbnNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFja2FnZUpTT04oKSB7XG4gIGlmIChwYWNrYWdlSlNPTiA9PT0gbnVsbCkge1xuICAgIGNvbnN0IHV0aWxpdGllc0RpcmVjdG9yeU5hbWUgPSBfX2Rpcm5hbWUsIC8vL1xuICAgICAgICAgIG1hdGNoZXMgPSB1dGlsaXRpZXNEaXJlY3RvcnlOYW1lLm1hdGNoKC9eKC4rKVtcXC9cXFxcXW5vZGVfbW9kdWxlcy8pLFxuICAgICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpLFxuICAgICAgICAgIGFwcGxpY2F0aW9uRGlyZWN0b3J5TmFtZSA9IHNlY29uZE1hdGNoLCAvLy9cbiAgICAgICAgICBwYWNrYWdlSlNPTkZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhhcHBsaWNhdGlvbkRpcmVjdG9yeU5hbWUsIFBBQ0tBR0VfSlNPTiksXG4gICAgICAgICAgcGFja2FnZUpTT05GaWxlQ29udGVudCA9IHJlYWRGaWxlKHBhY2thZ2VKU09ORmlsZVBhdGgpO1xuXG4gICAgcGFja2FnZUpTT04gPSBKU09OLnBhcnNlKHBhY2thZ2VKU09ORmlsZUNvbnRlbnQpO1xuICB9XG5cbiAgcmV0dXJuIHBhY2thZ2VKU09OO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldE5hbWUsXG4gIGdldEF1dGhvcixcbiAgZ2V0VmVyc2lvbixcbiAgZ2V0TGljZW5zZSxcbiAgZ2V0UGFja2FnZUpTT05cbn07XG4iXSwibmFtZXMiOlsiZ2V0QXV0aG9yIiwiZ2V0TGljZW5zZSIsImdldE5hbWUiLCJnZXRQYWNrYWdlSlNPTiIsImdldFZlcnNpb24iLCJQQUNLQUdFX0pTT04iLCJyZXF1aXJlIiwicGFja2FnZUpTT04iLCJuYW1lIiwiYXV0aG9yIiwidmVyc2lvbiIsImxpY2Vuc2UiLCJ1dGlsaXRpZXNEaXJlY3RvcnlOYW1lIiwiX19kaXJuYW1lIiwibWF0Y2hlcyIsIm1hdGNoIiwic2Vjb25kTWF0Y2giLCJzZWNvbmQiLCJhcHBsaWNhdGlvbkRpcmVjdG9yeU5hbWUiLCJwYWNrYWdlSlNPTkZpbGVQYXRoIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhY2thZ2VKU09ORmlsZUNvbnRlbnQiLCJyZWFkRmlsZSIsIkpTT04iLCJwYXJzZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFxREEsT0FNRTtlQU5GOztJQXBDZ0JBLFNBQVM7ZUFBVEE7O0lBY0FDLFVBQVU7ZUFBVkE7O0lBckJBQyxPQUFPO2VBQVBBOztJQTRCQUMsY0FBYztlQUFkQTs7SUFkQUMsVUFBVTtlQUFWQTs7O3FCQXBCTzswQkFDRTtvQkFDUTtBQUpqQyxJQUFNLEFBQUVDLGVBQWlCQyxRQUFRLGdCQUF6QkQ7QUFNUixJQUFJRSxjQUFjO0FBRVgsU0FBU0w7SUFDZCxJQUFNSyxjQUFjSixzQ0FDSUksWUFBaEJDLE1BQUFBLHNDQUFPO0lBRWYsT0FBT0E7QUFDVDtBQUVPLFNBQVNSO0lBQ2QsSUFBTU8sY0FBY0osd0NBQ01JLFlBQWxCRSxRQUFBQSwwQ0FBUztJQUVqQixPQUFPQTtBQUNUO0FBRU8sU0FBU0w7SUFDZCxJQUFNRyxjQUFjSix5Q0FDT0ksWUFBbkJHLFNBQUFBLDRDQUFVO0lBRWxCLE9BQU9BO0FBQ1Q7QUFFTyxTQUFTVDtJQUNkLElBQU1NLGNBQWNKLHlDQUNPSSxZQUFuQkksU0FBQUEsNENBQVU7SUFFbEIsT0FBT0E7QUFDVDtBQUVPLFNBQVNSO0lBQ2QsSUFBSUksZ0JBQWdCLE1BQU07UUFDeEIsSUFBTUsseUJBQXlCQyxXQUN6QkMsVUFBVUYsdUJBQXVCRyxLQUFLLENBQUMsNEJBQ3ZDQyxjQUFjQyxJQUFBQSxhQUFNLEVBQUNILFVBQ3JCSSwyQkFBMkJGLGFBQzNCRyxzQkFBc0JDLElBQUFBLHNCQUFnQixFQUFDRiwwQkFBMEJiLGVBQ2pFZ0IseUJBQXlCQyxJQUFBQSxvQkFBUSxFQUFDSDtRQUV4Q1osY0FBY2dCLEtBQUtDLEtBQUssQ0FBQ0g7SUFDM0I7SUFFQSxPQUFPZDtBQUNUO0lBRUEsV0FBZTtJQUNiTCxTQUFBQTtJQUNBRixXQUFBQTtJQUNBSSxZQUFBQTtJQUNBSCxZQUFBQTtJQUNBRSxnQkFBQUE7QUFDRiJ9
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFja2FnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgeyBQQUNLQUdFX0pTT04gfSA9IHJlcXVpcmUoXCIuLi9jb25zdGFudHNcIik7XG5cbmltcG9ydCB7IHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlU3lzdGVtXCI7XG5pbXBvcnQgeyBjb25jYXRlbmF0ZVBhdGhzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wYXRoXCI7XG5cbmxldCBwYWNrYWdlSlNPTiA9IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROYW1lKCkge1xuICBjb25zdCBwYWNrYWdlSlNPTiA9IGdldFBhY2thZ2VKU09OKCksXG4gICAgICAgIHsgbmFtZSA9IG51bGwgfSA9IHBhY2thZ2VKU09OO1xuXG4gIHJldHVybiBuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0aG9yKCkge1xuICBjb25zdCBwYWNrYWdlSlNPTiA9IGdldFBhY2thZ2VKU09OKCksXG4gICAgICAgIHsgYXV0aG9yID0gbnVsbCB9ID0gcGFja2FnZUpTT047XG5cbiAgcmV0dXJuIGF1dGhvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb24oKSB7XG4gIGNvbnN0IHBhY2thZ2VKU09OID0gZ2V0UGFja2FnZUpTT04oKSxcbiAgICAgICAgeyB2ZXJzaW9uID0gbnVsbCB9ID0gcGFja2FnZUpTT047XG5cbiAgcmV0dXJuIHZlcnNpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaWNlbnNlKCkge1xuICBjb25zdCBwYWNrYWdlSlNPTiA9IGdldFBhY2thZ2VKU09OKCksXG4gICAgICAgIHsgbGljZW5zZSA9IG51bGwgfSA9IHBhY2thZ2VKU09OO1xuXG4gIHJldHVybiBsaWNlbnNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFja2FnZVBhdGgoZGlybmFtZSA9IF9fZGlybmFtZSkge1xuICBjb25zdCBtYXRjaGVzID0gZGlybmFtZS5tYXRjaCgvXiguKylbXFwvXFxcXF1ub2RlX21vZHVsZXMvKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIHBhY2thZ2VQYXRoID0gc2Vjb25kTWF0Y2g7IC8vL1xuXG4gIHJldHVybiBwYWNrYWdlUGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhY2thZ2VKU09OKCkge1xuICBpZiAocGFja2FnZUpTT04gPT09IG51bGwpIHtcbiAgICBjb25zdCBwYWNrYWdlUGF0aCA9IGdldFBhY2thZ2VQYXRoKCksXG4gICAgICAgICAgcGFja2FnZUpTT05GaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocGFja2FnZVBhdGgsIFBBQ0tBR0VfSlNPTiksXG4gICAgICAgICAgcGFja2FnZUpTT05GaWxlQ29udGVudCA9IHJlYWRGaWxlKHBhY2thZ2VKU09ORmlsZVBhdGgpO1xuXG4gICAgcGFja2FnZUpTT04gPSBKU09OLnBhcnNlKHBhY2thZ2VKU09ORmlsZUNvbnRlbnQpO1xuICB9XG5cbiAgcmV0dXJuIHBhY2thZ2VKU09OO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldE5hbWUsXG4gIGdldEF1dGhvcixcbiAgZ2V0VmVyc2lvbixcbiAgZ2V0TGljZW5zZSxcbiAgZ2V0UGFja2FnZVBhdGgsXG4gIGdldFBhY2thZ2VKU09OXG59O1xuIl0sIm5hbWVzIjpbImdldEF1dGhvciIsImdldExpY2Vuc2UiLCJnZXROYW1lIiwiZ2V0UGFja2FnZUpTT04iLCJnZXRQYWNrYWdlUGF0aCIsImdldFZlcnNpb24iLCJQQUNLQUdFX0pTT04iLCJyZXF1aXJlIiwicGFja2FnZUpTT04iLCJuYW1lIiwiYXV0aG9yIiwidmVyc2lvbiIsImxpY2Vuc2UiLCJkaXJuYW1lIiwiX19kaXJuYW1lIiwibWF0Y2hlcyIsIm1hdGNoIiwic2Vjb25kTWF0Y2giLCJzZWNvbmQiLCJwYWNrYWdlUGF0aCIsInBhY2thZ2VKU09ORmlsZVBhdGgiLCJjb25jYXRlbmF0ZVBhdGhzIiwicGFja2FnZUpTT05GaWxlQ29udGVudCIsInJlYWRGaWxlIiwiSlNPTiIsInBhcnNlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQTBEQSxPQU9FO2VBUEY7O0lBekNnQkEsU0FBUztlQUFUQTs7SUFjQUMsVUFBVTtlQUFWQTs7SUFyQkFDLE9BQU87ZUFBUEE7O0lBb0NBQyxjQUFjO2VBQWRBOztJQVJBQyxjQUFjO2VBQWRBOztJQWRBQyxVQUFVO2VBQVZBOzs7cUJBcEJPOzBCQUNFO29CQUNRO0FBSmpDLElBQU0sQUFBRUMsZUFBaUJDLFFBQVEsZ0JBQXpCRDtBQU1SLElBQUlFLGNBQWM7QUFFWCxTQUFTTjtJQUNkLElBQU1NLGNBQWNMLHNDQUNJSyxZQUFoQkMsTUFBQUEsc0NBQU87SUFFZixPQUFPQTtBQUNUO0FBRU8sU0FBU1Q7SUFDZCxJQUFNUSxjQUFjTCx3Q0FDTUssWUFBbEJFLFFBQUFBLDBDQUFTO0lBRWpCLE9BQU9BO0FBQ1Q7QUFFTyxTQUFTTDtJQUNkLElBQU1HLGNBQWNMLHlDQUNPSyxZQUFuQkcsU0FBQUEsNENBQVU7SUFFbEIsT0FBT0E7QUFDVDtBQUVPLFNBQVNWO0lBQ2QsSUFBTU8sY0FBY0wseUNBQ09LLFlBQW5CSSxTQUFBQSw0Q0FBVTtJQUVsQixPQUFPQTtBQUNUO0FBRU8sU0FBU1I7UUFBZVMsVUFBQUEsaUVBQVVDO0lBQ3ZDLElBQU1DLFVBQVVGLFFBQVFHLEtBQUssQ0FBQyw0QkFDeEJDLGNBQWNDLElBQUFBLGFBQU0sRUFBQ0gsVUFDckJJLGNBQWNGLGFBQWEsR0FBRztJQUVwQyxPQUFPRTtBQUNUO0FBRU8sU0FBU2hCO0lBQ2QsSUFBSUssZ0JBQWdCLE1BQU07UUFDeEIsSUFBTVcsY0FBY2Ysa0JBQ2RnQixzQkFBc0JDLElBQUFBLHNCQUFnQixFQUFDRixhQUFhYixlQUNwRGdCLHlCQUF5QkMsSUFBQUEsb0JBQVEsRUFBQ0g7UUFFeENaLGNBQWNnQixLQUFLQyxLQUFLLENBQUNIO0lBQzNCO0lBRUEsT0FBT2Q7QUFDVDtJQUVBLFdBQWU7SUFDYk4sU0FBQUE7SUFDQUYsV0FBQUE7SUFDQUssWUFBQUE7SUFDQUosWUFBQUE7SUFDQUcsZ0JBQUFBO0lBQ0FELGdCQUFBQTtBQUNGIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "necessary",
3
3
  "author": "James Smith",
4
- "version": "13.5.6",
4
+ "version": "13.6.2",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/necessary",
7
7
  "description": "A collection of utility functions.",
@@ -36,13 +36,18 @@ export function getLicense() {
36
36
  return license;
37
37
  }
38
38
 
39
+ export function getPackagePath(dirname = __dirname) {
40
+ const matches = dirname.match(/^(.+)[\/\\]node_modules/),
41
+ secondMatch = second(matches),
42
+ packagePath = secondMatch; ///
43
+
44
+ return packagePath;
45
+ }
46
+
39
47
  export function getPackageJSON() {
40
48
  if (packageJSON === null) {
41
- const utilitiesDirectoryName = __dirname, ///
42
- matches = utilitiesDirectoryName.match(/^(.+)[\/\\]node_modules/),
43
- secondMatch = second(matches),
44
- applicationDirectoryName = secondMatch, ///
45
- packageJSONFilePath = concatenatePaths(applicationDirectoryName, PACKAGE_JSON),
49
+ const packagePath = getPackagePath(),
50
+ packageJSONFilePath = concatenatePaths(packagePath, PACKAGE_JSON),
46
51
  packageJSONFileContent = readFile(packageJSONFilePath);
47
52
 
48
53
  packageJSON = JSON.parse(packageJSONFileContent);
@@ -56,5 +61,6 @@ export default {
56
61
  getAuthor,
57
62
  getVersion,
58
63
  getLicense,
64
+ getPackagePath,
59
65
  getPackageJSON
60
66
  };