You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ra...@apache.org on 2021/06/23 10:08:37 UTC

[cordova-lib] branch master updated: fix: remove undeclared dependency on underscore (#871)

This is an automated email from the ASF dual-hosted git repository.

raphinesse pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-lib.git


The following commit(s) were added to refs/heads/master by this push:
     new 3274a78  fix: remove undeclared dependency on underscore (#871)
3274a78 is described below

commit 3274a78e8c4ae18a9861f4e871ff66d6bc234db7
Author: Raphael von der GrĂ¼n <ra...@gmail.com>
AuthorDate: Wed Jun 23 12:08:30 2021 +0200

    fix: remove undeclared dependency on underscore (#871)
    
    * refactor(serve): generate index w/out underscore
    * refactor(requirements): transform results w/out underscore
---
 src/cordova/requirements.js |  7 +++++--
 src/cordova/serve.js        | 41 +++++++++++++++--------------------------
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/src/cordova/requirements.js b/src/cordova/requirements.js
index 4ee038a..57dbbdc 100644
--- a/src/cordova/requirements.js
+++ b/src/cordova/requirements.js
@@ -17,7 +17,6 @@
     under the License.
 */
 
-const { object: zipObject } = require('underscore');
 const cordova_util = require('./util');
 const { CordovaError } = require('cordova-common');
 const knownPlatforms = require('../platforms/platforms');
@@ -37,7 +36,11 @@ module.exports = function check_reqs (platforms) {
 
         return Promise.all(
             normalizedPlatforms.map(getPlatformRequirementsOrError)
-        ).then(results => zipObject(normalizedPlatforms, results));
+        ).then(results =>
+            normalizedPlatforms.reduce((acc, platform, idx) =>
+                Object.assign(acc, { [platform]: results[idx] })
+            , {})
+        );
     });
 };
 
diff --git a/src/cordova/serve.js b/src/cordova/serve.js
index 4f6fae8..f50807f 100644
--- a/src/cordova/serve.js
+++ b/src/cordova/serve.js
@@ -21,7 +21,6 @@ const url = require('url');
 const path = require('path');
 const globby = require('globby');
 const md5File = require('md5-file');
-const { template, object: zipObject } = require('underscore');
 
 const { ConfigParser, events } = require('cordova-common');
 const cordovaServe = require('cordova-serve');
@@ -32,60 +31,50 @@ const HooksRunner = require('../hooks/HooksRunner');
 
 let projectRoot, installedPlatforms;
 
-const INDEX_TEMPLATE = `
+const renderIndex = ({ config, plugins, platforms }) => `
 <!doctype html>
 <html>
 <head>
     <meta charset=utf-8>
-    <title>{{ metaData.name }}</title>
+    <title>${config.name()}</title>
 </head>
 <body>
     <h3>Package Metadata</h3>
     <table style="text-align: left">
-        {% for (const key in metaData) { %}
-            <tr>
-                <th>{{ key }}</th><td>{{ metaData[key] }}</td>
-            </tr>
-        {% } %}
+    ${['name', 'packageName', 'version'].map(key =>
+        `<tr><th>${key}</th><td>${config[key]()}</td></tr>`
+    ).join('\n')}
     </table>
 
     <h3>Platforms</h3>
     <ul>
-        {% for (const platform of platforms) { %}
-            <li>
-                {% if (platform.url) { %}
-                    <a href="{{ platform.url }}">{{ platform.name }}</a>
-                {% } else { %}
-                    <em>{{ platform.name }}</em>
-                {% } %}
-            </li>
-        {% } %}
+    ${platforms.map(platform =>
+        `<li>${
+            platform.url
+                ? `<a href="${platform.url}">${platform.name}</a>`
+                : `<em>${platform.name}</em>`
+        }</li>`).join('\n')}
     </ul>
 
     <h3>Plugins</h3>
     <ul>
-        {% for (const plugin of plugins) { %}
-            <li>{{ plugin }}</li>
-        {% } %}
+    ${plugins.map(plugin =>
+        `<li>${plugin}</li>`
+    ).join('\n')}
     </ul>
 </body>
 </html>
 `;
-const renderIndex = template(INDEX_TEMPLATE, {
-    escape: /\{\{(.+?)\}\}/g,
-    evaluate: /\{%(.+?)%\}/g
-});
 
 function handleRoot (request, response) {
     const config = new ConfigParser(cordovaUtil.projectConfig(projectRoot));
     const contentNode = config.doc.find('content');
     const contentSrc = (contentNode && contentNode.attrib.src) || 'index.html';
-    const metaDataKeys = ['name', 'packageName', 'version'];
     const platformUrl = name => installedPlatforms.includes(name)
         ? `${name}/www/${contentSrc}` : null;
 
     response.send(renderIndex({
-        metaData: zipObject(metaDataKeys, metaDataKeys.map(k => config[k]())),
+        config,
         plugins: cordovaUtil.findPlugins(path.join(projectRoot, 'plugins')),
         platforms: Object.keys(platforms).map(name => ({
             name, url: platformUrl(name)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org