UNPKG

1.13 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var fs = require("fs");
4var xml2js = require("xml2js");
5var lastConfig;
6/**
7 * Parse and build a CordovaProject config object by parsing the
8 * config.xml file in the project root.
9 */
10exports.buildCordovaConfig = function (errCb, cb) {
11 var parser = new xml2js.Parser();
12 fs.readFile('config.xml', function (err, data) {
13 if (err) {
14 errCb(err);
15 return;
16 }
17 parser.parseString(data, function (err, result) {
18 if (err) {
19 errCb(err);
20 return;
21 }
22 cb(exports.parseConfig(result));
23 });
24 });
25};
26exports.parseConfig = function (parsedConfig) {
27 if (!parsedConfig.widget) {
28 return {};
29 }
30 var widget = parsedConfig.widget;
31 // Widget attrs are defined on the <widget> tag
32 var widgetAttrs = widget.$;
33 var config = {
34 name: widget.name[0]
35 };
36 if (widgetAttrs) {
37 config.id = widgetAttrs.id;
38 config.version = widgetAttrs.version;
39 }
40 lastConfig = config;
41 return config;
42};