Github user riknoll commented on a diff in the pull request:

    https://github.com/apache/cordova-lib/pull/425#discussion_r59412652
  
    --- Diff: cordova-lib/src/cordova/util.js ---
    @@ -401,3 +407,48 @@ function getAvailableNpmVersions(module_name) {
             });
         });
     }
    +
    +/**
    + * Extracts the name and spec from an npm style package spec that follows 
the
    + * format of (@scope/)?package(@spec)?
    + * @param {String} raw  The raw npm style package spec
    + * @returns {String[]}  An array containing the package name with optional 
scope
    + *                      followed by the plugin spec (either value may be 
null
    + *                      if not matched)
    + */
    +function parseRegistryPluginSpec(raw) {
    +    var split = NPM_SPEC_REGEX.exec(raw);
    +    if (split) {
    +        var package = split[1] ? split[1] + split[2] : split[2];
    +        var version = split[3] || null;
    +        return [package, version];
    +    } else {
    +        return [null, null];
    +    }
    +}
    +
    +/**
    + * Extracts the package name from an npm style package spec of the format
    + * (@scope/)?package(@spec)?. Useful for getting the id used for 
directories
    + * created for install
    + * @param {String} raw  The raw npm style package spec
    + * @returns {String}    The package name without scope or version or the 
original
    + *                      string if it isn't an npm package spec
    + */
    +function extractPluginId(raw) {
    +    var split = NPM_SPEC_REGEX.exec(raw);
    +    return split ? split[2] : raw;
    +}
    +
    +
    +/**
    + * Determines if a string is a package spec of the format 
@scope/package(@spec)?
    + * or not
    + * @param {String} raw  The raw npm style package spec
    + * @returns {boolean}   True if the given string follows the format of an 
npm style
    + *                      package spec or false otherwise
    + */
    +function isScopedRegistryPluginSpec(raw) {
    --- End diff --
    
    This function was provided to match the existing checks we do for 
`isDirectory`, `isUrl`, etc in the plugin code. I'm fine with unifying the API 
though, since three functions is probably unnecessary.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
For additional commands, e-mail: dev-h...@cordova.apache.org

Reply via email to