From feaab51e3df713961a681babb6fa8bf0edb6acdf Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Wed, 19 Feb 2020 19:14:22 -0600 Subject: [PATCH 01/19] added in a test file and a test case to exercise all the functions from xmlbuilder2 the /meteor/tools/cordova/builder.js file uses --- packages/xmlbuilder/xmlbuilder_tests.js | 112 ++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 packages/xmlbuilder/xmlbuilder_tests.js diff --git a/packages/xmlbuilder/xmlbuilder_tests.js b/packages/xmlbuilder/xmlbuilder_tests.js new file mode 100644 index 0000000000..a80196fe72 --- /dev/null +++ b/packages/xmlbuilder/xmlbuilder_tests.js @@ -0,0 +1,112 @@ +const expectedResult = `XmlBuilderTestThis is a Meteor test caseMeteor Developer`; + +const accessRules = { + 'tel:*': { type: 'intent' }, + 'geo:*': { type: 'intent' }, + 'mailto:*': { type: 'intent' }, + 'sms:*': { type: 'intent' }, + 'market:*': { type: 'intent' }, + 'itms:*': { type: 'intent' }, + 'itms-apps:*': { type: 'intent' }, + 'http://localhost': { type: 'navigation' } +}; + +const metadata = { + version: '0.0.1', + buildNumber: undefined, + description: 'New Meteor Mobile App', + author: 'A Meteor Developer', + email: 'n/a', + website: 'n/a', + contentUrl: `http://localhost:3000/` +}; + +const additionalConfiguration = { + global: { + 'webviewbounce': false, + 'DisallowOverscroll': true + }, + platform: { + ios: {}, + android: {} + } +}; + +const custom = [``]; + + +Tinytest.add("xmlbuilder - config.xml file generation", function (test) { + let config = XmlBuilder.create({ version: '1.0' }).ele('widget'); + + // Set the root attributes + _.each({ + id: 'com.meteor.xmlbuilder_test', + version: metadata.version, + 'android-versionCode': '28', + 'ios-CFBundleVersion': null, + xmlns: 'http://www.w3.org/ns/widgets', + 'xmlns:cdv': 'http://cordova.apache.org/ns/1.0' + }, (value, key) => { + if (value) { + config.att(key, value); + } + }); + + // Set the metadata + config.ele('name').txt('XmlBuilderTest'); + config.ele('description').txt('This is a Meteor test case'); + config.ele('author', { + href: 'http://cordova.io', + email: 'dev@cordova.apache.org' + }).txt('Meteor Developer'); + + // Set the additional global configuration preferences + _.each(additionalConfiguration.global, (value, key) => { + config.ele('preference', { + name: key, + value: value.toString() + }); + }); + + // Set custom tags into widget element + _.each(custom, elementSet => { + const tag = config.ele(elementSet); + }); + + config.ele('content', { src: metadata.contentUrl }); + + // Copy all the access rules + _.each(accessRules, (options, pattern) => { + const type = options.type; + options = _.omit(options, 'type'); + + if (type === 'intent') { + config.ele('allow-intent', { href: pattern }); + } else if (type === 'navigation') { + config.ele('allow-navigation', _.extend({ href: pattern }, options)); + } else { + config.ele('access', _.extend({ origin: pattern }, options)); + } + }); + + const platformElement = { + ios: config.ele('platform', { name: 'ios' }), + android: config.ele('platform', { name: 'android' }) + } + + // Set the additional platform-specific configuration preferences + _.each(additionalConfiguration.platform, (prefs, platform) => { + _.each(prefs, (value, key) => { + platformElement[platform].ele('preference', { + name: key, + value: value.toString() + }); + }); + }); + + const formattedXmlConfig = config.end(); + test.equal(formattedXmlConfig, expectedResult); +}); + + + From e4b4b37d2a8b4e5bd336f3df4c306df287429507 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Wed, 19 Feb 2020 19:15:13 -0600 Subject: [PATCH 02/19] updated the npm dependency to xmlbuilder2 --- packages/xmlbuilder/xmlbuilder.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/xmlbuilder/xmlbuilder.js b/packages/xmlbuilder/xmlbuilder.js index 65301bb0b2..8140d6b10a 100644 --- a/packages/xmlbuilder/xmlbuilder.js +++ b/packages/xmlbuilder/xmlbuilder.js @@ -1,2 +1 @@ -XmlBuilder = Npm.require('xmlbuilder'); - +XmlBuilder = Npm.require('xmlbuilder2'); From 2ce2f6842633cf2f64ff9d18d6931106ea7fb513 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Wed, 19 Feb 2020 19:16:08 -0600 Subject: [PATCH 03/19] update the xmlbuilder isopack's package.js file --- packages/xmlbuilder/package.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/xmlbuilder/package.js b/packages/xmlbuilder/package.js index 305539606e..f360c3eb03 100644 --- a/packages/xmlbuilder/package.js +++ b/packages/xmlbuilder/package.js @@ -1,12 +1,10 @@ Package.describe({ summary: "An XML builder for node.js similar to java-xmlbuilder.", - version: '2.5.15' + version: '2.5.16' }); Npm.depends({ - 'xmlbuilder': '2.4.4' // XXX next time we update this to X.Y.Z, - // make the version above be X.Y.Z_0 so we - // don't accidentally unsync version numbers + 'xmlbuilder2': '1.3.0' }); Package.onUse(function (api) { @@ -14,3 +12,9 @@ Package.onUse(function (api) { api.export('XmlBuilder', 'server'); }); + +Package.onTest(function (api) { + api.use(['tinytest', 'xmlbuilder', 'underscore']); + + api.addFiles('xmlbuilder_tests.js', 'server'); +}); \ No newline at end of file From 928fcdafd102313d530c2cffbf5a038594395df6 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Wed, 19 Feb 2020 19:17:24 -0600 Subject: [PATCH 04/19] update the shrinkwrap file's with the new node packages that come with xmlbuilder2, and remove the xmlbuilder packages --- .../.npm/package/npm-shrinkwrap.json | 58 ++++++++++++++++--- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json index 965f7b6386..9334bc8e6c 100644 --- a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json +++ b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json @@ -1,17 +1,59 @@ { "lockfileVersion": 1, "dependencies": { + "@oozcitak/dom": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.2.tgz", + "integrity": "sha512-HmpUeiqNZIXaV7/lvEK89w2g6VfQjqY355umhVK/pyTHZw9xINbSrfYIGBJbpli5hYmffHCFDRVVBNYhlYgPkw==" + }, + "@oozcitak/infra": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.5.tgz", + "integrity": "sha512-o+zZH7M6l5e3FaAWy3ojaPIVN5eusaYPrKm6MZQt0DKNdgXa2wDYExjpP0t/zx+GoQgQKzLu7cfD8rHCLt8JrQ==" + }, + "@oozcitak/url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.0.tgz", + "integrity": "sha512-LGrMeSxeLzsdaitxq3ZmBRVOrlRRQIgNNci6L0VRnOKlJFuRIkNm4B+BObXPCJA6JT5bEJtrrwjn30jueHJYZQ==", + "dependencies": { + "@oozcitak/infra": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.3.tgz", + "integrity": "sha512-9O2wxXGnRzy76O1XUxESxDGsXT5kzETJPvYbreO4mv6bqe1+YSuux2cZTagjJ/T4UfEwFJz5ixanOqB0QgYAag==", + "dependencies": { + "@oozcitak/util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.1.tgz", + "integrity": "sha512-dFwFqcKrQnJ2SapOmRD1nQWEZUtbtIy9Y6TyJquzsalWNJsKIPxmTI0KG6Ypyl8j7v89L2wixH9fQDNrF78hKg==" + } + } + }, + "@oozcitak/util": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.2.tgz", + "integrity": "sha512-4n8B1cWlJleSOSba5gxsMcN4tO8KkkcvXhNWW+ADqvq9Xj+Lrl9uCa90GRpjekqQJyt84aUX015DG81LFpZYXA==" + } + } + }, + "@oozcitak/util": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.0.0.tgz", + "integrity": "sha512-+9Hq6yuoq/3TRV/n/xcpydGBq2qN2/DEDMqNTG7rm95K6ZE2/YY/sPyx62+1n8QsE9O26e5M1URlXsk+AnN9Jw==" + }, + "lodash-node": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz", + "integrity": "sha1-6oL3sQDHM9GkKvdoAeUGEF4qgOw=" + }, "xmlbuilder": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.4.tgz", - "integrity": "sha1-biqE2l33nhGrsKBbrS8KzBLjOJM=", - "dependencies": { - "lodash-node": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz", - "integrity": "sha1-6oL3sQDHM9GkKvdoAeUGEF4qgOw=" - } - } + "integrity": "sha1-biqE2l33nhGrsKBbrS8KzBLjOJM=" + }, + "xmlbuilder2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-1.3.0.tgz", + "integrity": "sha512-psOhoujlyalhUaIer1bgXCaDL424+tTcfZRDEGsD+Rydext6S/mlj2bNETNIUuRsOkJ8nMC72bB5idQeG/JvWg==" } } } From 20bc926f05be6bc6f83e0d2a8c3e57b26b53e3f5 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Wed, 19 Feb 2020 19:20:25 -0600 Subject: [PATCH 05/19] update the builder.js to use the xmlbuilder2's api instead of the xmlbuilder api. updates are made to account for the following api changes 1.) raw is no longer used by xmlbuilder2 2.) element has been shortened to ele 3.) the create function signature/definition has changed compared to xmlbuilder --- tools/cordova/builder.js | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/tools/cordova/builder.js b/tools/cordova/builder.js index e32bb3e36b..792c66ca90 100644 --- a/tools/cordova/builder.js +++ b/tools/cordova/builder.js @@ -248,7 +248,7 @@ export class CordovaBuilder { writeConfigXmlAndCopyResources(shouldCopyResources = true) { const { XmlBuilder } = loadIsopackage('xmlbuilder'); - let config = XmlBuilder.create('widget'); + let config = XmlBuilder.create({ version: '1.0' }).ele('widget'); // Set the root attributes _.each({ @@ -265,16 +265,16 @@ export class CordovaBuilder { }); // Set the metadata - config.element('name').txt(this.metadata.name); - config.element('description').txt(this.metadata.description); - config.element('author', { + config.ele('name').txt(this.metadata.name); + config.ele('description').txt(this.metadata.description); + config.ele('author', { href: this.metadata.website, email: this.metadata.email }).txt(this.metadata.author); // Set the additional global configuration preferences _.each(this.additionalConfiguration.global, (value, key) => { - config.element('preference', { + config.ele('preference', { name: key, value: value.toString() }); @@ -282,10 +282,10 @@ export class CordovaBuilder { // Set custom tags into widget element _.each(this.custom, elementSet => { - const tag = config.raw(elementSet); + const tag = config.ele(elementSet); }); - config.element('content', { src: this.metadata.contentUrl }); + config.ele('content', { src: this.metadata.contentUrl }); // Copy all the access rules _.each(this.accessRules, (options, pattern) => { @@ -293,23 +293,23 @@ export class CordovaBuilder { options = _.omit(options, 'type'); if (type === 'intent') { - config.element('allow-intent', { href: pattern }); + config.ele('allow-intent', { href: pattern }); } else if (type === 'navigation') { - config.element('allow-navigation', _.extend({ href: pattern }, options)); + config.ele('allow-navigation', _.extend({ href: pattern }, options)); } else { - config.element('access', _.extend({ origin: pattern }, options)); + config.ele('access', _.extend({ origin: pattern }, options)); } }); const platformElement = { - ios: config.element('platform', {name: 'ios'}), - android: config.element('platform', {name: 'android'}) + ios: config.ele('platform', { name: 'ios' }), + android: config.ele('platform', { name: 'android' }) } // Set the additional platform-specific configuration preferences _.each(this.additionalConfiguration.platform, (prefs, platform) => { _.each(prefs, (value, key) => { - platformElement[platform].element('preference', { + platformElement[platform].ele('preference', { name: key, value: value.toString() }); @@ -338,7 +338,7 @@ export class CordovaBuilder { Console.debug('Writing new config.xml'); const configXmlPath = files.pathJoin(this.projectRoot, 'config.xml'); - const formattedXmlConfig = config.end({ pretty: true }); + const formattedXmlConfig = config.end({ prettyPrint: true }); files.writeFile(configXmlPath, formattedXmlConfig, 'utf8'); } @@ -386,7 +386,7 @@ export class CordovaBuilder { files.pathJoin(this.resourcesPath, filename)); // Set it to the xml tree - xmlElement.element(tag, imageAttributes(name, width, height, src)); + xmlElement.ele(tag, imageAttributes(name, width, height, src)); }); } @@ -399,15 +399,15 @@ export class CordovaBuilder { files.pathJoin(this.projectRoot, filename)); // And entry in config.xml if (!resourceFile.platform || - (resourceFile.platform && resourceFile.platform === "android")) { - androidElement.element('resource-file', { + (resourceFile.platform && resourceFile.platform === "android")) { + androidElement.ele('resource-file', { src: resourceFile.src, target: resourceFile.target }); } if (!resourceFile.platform || - (resourceFile.platform && resourceFile.platform === "ios")) { - iosElement.element('resource-file', { + (resourceFile.platform && resourceFile.platform === "ios")) { + iosElement.ele('resource-file', { src: resourceFile.src, target: resourceFile.target }); @@ -545,7 +545,7 @@ function createAppConfiguration(builder) { let settings = null; if (settingsFile) { settings = optimisticReadJsonOrNull(settingsFile); - if (! settings) { + if (!settings) { throw new Error("Unreadable --settings file: " + settingsFile); } } From 216891019461fae6eb339fadfbdcb259fcd4503c Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Wed, 19 Feb 2020 19:20:51 -0600 Subject: [PATCH 06/19] update the license file to reference the xmlbuilder2 library --- LICENSES/MIT.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt index 85487756fe..03a8f3284d 100644 --- a/LICENSES/MIT.txt +++ b/LICENSES/MIT.txt @@ -835,7 +835,7 @@ Copyright (c) 2010 Ryan McGrath ---------- -xmlbuilder: http://github.com/oozcitak/xmlbuilder-js +xmlbuilder2: http://github.com/oozcitak/xmlbuilder2 ---------- Copyright (c) 2013 Ozgur Ozcitak From 6ab985f142b8638cddaf6b9bc6ef9f402caeeb51 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Wed, 19 Feb 2020 20:50:22 -0600 Subject: [PATCH 07/19] cleaned up the test case data to only include what is used --- packages/xmlbuilder/xmlbuilder_tests.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/xmlbuilder/xmlbuilder_tests.js b/packages/xmlbuilder/xmlbuilder_tests.js index a80196fe72..a3b894fbab 100644 --- a/packages/xmlbuilder/xmlbuilder_tests.js +++ b/packages/xmlbuilder/xmlbuilder_tests.js @@ -12,12 +12,9 @@ const accessRules = { }; const metadata = { + id: 'com.meteor.xmlbuilder_test', version: '0.0.1', - buildNumber: undefined, - description: 'New Meteor Mobile App', - author: 'A Meteor Developer', - email: 'n/a', - website: 'n/a', + author: 'Meteor Developer', contentUrl: `http://localhost:3000/` }; @@ -34,13 +31,15 @@ const additionalConfiguration = { const custom = [``]; - +// this test case mimics about 80 precent of the code used to build the +// config.xml file from the following file (meteor/tools/cordova/builder.js) +// and it exercies all the funcitons used from the xmlbuilder2 api Tinytest.add("xmlbuilder - config.xml file generation", function (test) { let config = XmlBuilder.create({ version: '1.0' }).ele('widget'); // Set the root attributes _.each({ - id: 'com.meteor.xmlbuilder_test', + id: metadata.id, version: metadata.version, 'android-versionCode': '28', 'ios-CFBundleVersion': null, @@ -58,7 +57,7 @@ Tinytest.add("xmlbuilder - config.xml file generation", function (test) { config.ele('author', { href: 'http://cordova.io', email: 'dev@cordova.apache.org' - }).txt('Meteor Developer'); + }).txt(metadata.author); // Set the additional global configuration preferences _.each(additionalConfiguration.global, (value, key) => { From 0d86f3dacdda15b2bbd7232c08adebfe8eae4fd5 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Thu, 20 Feb 2020 11:42:42 -0600 Subject: [PATCH 08/19] removed the old node packages from the npm-shrinkwrap file because they are not needed anymore --- packages/xmlbuilder/.npm/package/npm-shrinkwrap.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json index 9334bc8e6c..e6fa493ce6 100644 --- a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json +++ b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json @@ -40,16 +40,6 @@ "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.0.0.tgz", "integrity": "sha512-+9Hq6yuoq/3TRV/n/xcpydGBq2qN2/DEDMqNTG7rm95K6ZE2/YY/sPyx62+1n8QsE9O26e5M1URlXsk+AnN9Jw==" }, - "lodash-node": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz", - "integrity": "sha1-6oL3sQDHM9GkKvdoAeUGEF4qgOw=" - }, - "xmlbuilder": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.4.tgz", - "integrity": "sha1-biqE2l33nhGrsKBbrS8KzBLjOJM=" - }, "xmlbuilder2": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-1.3.0.tgz", From e376f83b35eec0916aaa9ba1894d8e8d9336e6a6 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Thu, 20 Feb 2020 11:44:43 -0600 Subject: [PATCH 09/19] updated the tests to help identify which function (each used function has a separate test case now) has failed in the event that a library update causes the api's behavior to change version to version from what we have come to expect --- packages/xmlbuilder/xmlbuilder_tests.js | 96 ++++++++++++++++--------- 1 file changed, 63 insertions(+), 33 deletions(-) diff --git a/packages/xmlbuilder/xmlbuilder_tests.js b/packages/xmlbuilder/xmlbuilder_tests.js index a3b894fbab..74c8532945 100644 --- a/packages/xmlbuilder/xmlbuilder_tests.js +++ b/packages/xmlbuilder/xmlbuilder_tests.js @@ -1,40 +1,39 @@ -const expectedResult = `XmlBuilderTestThis is a Meteor test caseMeteor Developer`; - -const accessRules = { - 'tel:*': { type: 'intent' }, - 'geo:*': { type: 'intent' }, - 'mailto:*': { type: 'intent' }, - 'sms:*': { type: 'intent' }, - 'market:*': { type: 'intent' }, - 'itms:*': { type: 'intent' }, - 'itms-apps:*': { type: 'intent' }, - 'http://localhost': { type: 'navigation' } -}; - -const metadata = { - id: 'com.meteor.xmlbuilder_test', - version: '0.0.1', - author: 'Meteor Developer', - contentUrl: `http://localhost:3000/` -}; - -const additionalConfiguration = { - global: { - 'webviewbounce': false, - 'DisallowOverscroll': true - }, - platform: { - ios: {}, - android: {} - } -}; - -const custom = [``]; - // this test case mimics about 80 precent of the code used to build the // config.xml file from the following file (meteor/tools/cordova/builder.js) // and it exercies all the funcitons used from the xmlbuilder2 api Tinytest.add("xmlbuilder - config.xml file generation", function (test) { + const expectedResult = `XmlBuilderTestThis is a Meteor test caseMeteor Developer`; + + const accessRules = { + 'tel:*': { type: 'intent' }, + 'geo:*': { type: 'intent' }, + 'mailto:*': { type: 'intent' }, + 'sms:*': { type: 'intent' }, + 'market:*': { type: 'intent' }, + 'itms:*': { type: 'intent' }, + 'itms-apps:*': { type: 'intent' }, + 'http://localhost': { type: 'navigation' } + }; + + const metadata = { + id: 'com.meteor.xmlbuilder_test', + version: '0.0.1', + author: 'Meteor Developer', + contentUrl: `http://localhost:3000/` + }; + + const additionalConfiguration = { + global: { + 'webviewbounce': false, + 'DisallowOverscroll': true + }, + platform: { + ios: {}, + android: {} + } + }; + + const custom = [``]; let config = XmlBuilder.create({ version: '1.0' }).ele('widget'); // Set the root attributes @@ -107,5 +106,36 @@ Tinytest.add("xmlbuilder - config.xml file generation", function (test) { test.equal(formattedXmlConfig, expectedResult); }); +Tinytest.add("xmlbuilder - create() funciton", function (test) { + const expectedResult = ''; + + let widgetNode = XmlBuilder.create({ version: '1.0' }).ele('widget'); + let formattedXmlConfig = widgetNode.end(); + test.equal(formattedXmlConfig, expectedResult); + + widgetNode = XmlBuilder.create().ele('widget'); + formattedXmlConfig = widgetNode.end(); + test.equal(formattedXmlConfig, expectedResult); + +}); + +Tinytest.add("xmlbuilder - att() function", function (test) { + const expectedResult = ''; + + let config = XmlBuilder.create().ele('widget'); + config.att({ key: 'test' }); + let formattedXmlConfig = config.end(); + test.equal(formattedXmlConfig, expectedResult); +}); + +Tinytest.add("xmlbuilder - ele() function", function (test) { + let expectedResult = 'XmlBuilderTest'; + let config = XmlBuilder.create().ele('widget'); + config.ele('name').txt('XmlBuilderTest'); + + const formattedXmlConfig = config.end(); + test.equal(formattedXmlConfig, expectedResult); +}); + From 6ed31add94e566042875980dc1717f9638a83ee8 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Thu, 20 Feb 2020 12:30:26 -0600 Subject: [PATCH 10/19] removed xmlbuilder's dependencies from the npm-shrinkwrap.json file --- .../.npm/package/npm-shrinkwrap.json | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json index e6fa493ce6..35b60a20e7 100644 --- a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json +++ b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json @@ -11,30 +11,6 @@ "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.5.tgz", "integrity": "sha512-o+zZH7M6l5e3FaAWy3ojaPIVN5eusaYPrKm6MZQt0DKNdgXa2wDYExjpP0t/zx+GoQgQKzLu7cfD8rHCLt8JrQ==" }, - "@oozcitak/url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.0.tgz", - "integrity": "sha512-LGrMeSxeLzsdaitxq3ZmBRVOrlRRQIgNNci6L0VRnOKlJFuRIkNm4B+BObXPCJA6JT5bEJtrrwjn30jueHJYZQ==", - "dependencies": { - "@oozcitak/infra": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.3.tgz", - "integrity": "sha512-9O2wxXGnRzy76O1XUxESxDGsXT5kzETJPvYbreO4mv6bqe1+YSuux2cZTagjJ/T4UfEwFJz5ixanOqB0QgYAag==", - "dependencies": { - "@oozcitak/util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.1.tgz", - "integrity": "sha512-dFwFqcKrQnJ2SapOmRD1nQWEZUtbtIy9Y6TyJquzsalWNJsKIPxmTI0KG6Ypyl8j7v89L2wixH9fQDNrF78hKg==" - } - } - }, - "@oozcitak/util": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.2.tgz", - "integrity": "sha512-4n8B1cWlJleSOSba5gxsMcN4tO8KkkcvXhNWW+ADqvq9Xj+Lrl9uCa90GRpjekqQJyt84aUX015DG81LFpZYXA==" - } - } - }, "@oozcitak/util": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.0.0.tgz", From 69f359e592d94e883c6ae5b653f91010a0981360 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Thu, 20 Feb 2020 12:39:34 -0600 Subject: [PATCH 11/19] bug fix - spelling errors in the test file --- packages/xmlbuilder/xmlbuilder_tests.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/xmlbuilder/xmlbuilder_tests.js b/packages/xmlbuilder/xmlbuilder_tests.js index 74c8532945..fe89d5430a 100644 --- a/packages/xmlbuilder/xmlbuilder_tests.js +++ b/packages/xmlbuilder/xmlbuilder_tests.js @@ -1,6 +1,6 @@ // this test case mimics about 80 precent of the code used to build the // config.xml file from the following file (meteor/tools/cordova/builder.js) -// and it exercies all the funcitons used from the xmlbuilder2 api +// and it exercises all the funcitons used from the xmlbuilder2 api Tinytest.add("xmlbuilder - config.xml file generation", function (test) { const expectedResult = `XmlBuilderTestThis is a Meteor test caseMeteor Developer`; @@ -106,7 +106,7 @@ Tinytest.add("xmlbuilder - config.xml file generation", function (test) { test.equal(formattedXmlConfig, expectedResult); }); -Tinytest.add("xmlbuilder - create() funciton", function (test) { +Tinytest.add("xmlbuilder - create() function", function (test) { const expectedResult = ''; let widgetNode = XmlBuilder.create({ version: '1.0' }).ele('widget'); From 62856045304d33720f2dc728318b023c60244aa6 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Thu, 20 Feb 2020 13:28:12 -0600 Subject: [PATCH 12/19] Updated the npm-shrinkwrap.json these dependencies are needed after all --- .../.npm/package/npm-shrinkwrap.json | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json index 35b60a20e7..d661655a54 100644 --- a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json +++ b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json @@ -10,6 +10,30 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.5.tgz", "integrity": "sha512-o+zZH7M6l5e3FaAWy3ojaPIVN5eusaYPrKm6MZQt0DKNdgXa2wDYExjpP0t/zx+GoQgQKzLu7cfD8rHCLt8JrQ==" + }, + "@oozcitak/url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.0.tgz", + "integrity": "sha512-LGrMeSxeLzsdaitxq3ZmBRVOrlRRQIgNNci6L0VRnOKlJFuRIkNm4B+BObXPCJA6JT5bEJtrrwjn30jueHJYZQ==", + "dependencies": { + "@oozcitak/infra": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.3.tgz", + "integrity": "sha512-9O2wxXGnRzy76O1XUxESxDGsXT5kzETJPvYbreO4mv6bqe1+YSuux2cZTagjJ/T4UfEwFJz5ixanOqB0QgYAag==", + "dependencies": { + "@oozcitak/util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.1.tgz", + "integrity": "sha512-dFwFqcKrQnJ2SapOmRD1nQWEZUtbtIy9Y6TyJquzsalWNJsKIPxmTI0KG6Ypyl8j7v89L2wixH9fQDNrF78hKg==" + } + } + }, + "@oozcitak/util": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.2.tgz", + "integrity": "sha512-4n8B1cWlJleSOSba5gxsMcN4tO8KkkcvXhNWW+ADqvq9Xj+Lrl9uCa90GRpjekqQJyt84aUX015DG81LFpZYXA==" + } + } }, "@oozcitak/util": { "version": "8.0.0", From 65799b23ae9a0bd35a7f9f7c6e03f193a6596f98 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Mon, 24 Feb 2020 18:07:22 -0600 Subject: [PATCH 13/19] Update the builder.js file to use the xmlbuilder2 node package directly, and no longer by importing the isopackxmlbuilder --- tools/cordova/builder.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tools/cordova/builder.js b/tools/cordova/builder.js index 792c66ca90..56d64590af 100644 --- a/tools/cordova/builder.js +++ b/tools/cordova/builder.js @@ -10,6 +10,7 @@ import archinfo from '../utils/archinfo'; import release from '../packaging/release.js'; import { loadIsopackage } from '../tool-env/isopackets.js'; import utils from '../utils/utils.js'; +import XmlBuilder from 'xmlbuilder2'; import { CORDOVA_ARCH } from './index.js'; @@ -123,8 +124,8 @@ export class CordovaBuilder { 'DisallowOverscroll': true }, platform: { - ios: {}, - android: {} + ios: {}, + android: {} } }; @@ -246,8 +247,6 @@ export class CordovaBuilder { } writeConfigXmlAndCopyResources(shouldCopyResources = true) { - const { XmlBuilder } = loadIsopackage('xmlbuilder'); - let config = XmlBuilder.create({ version: '1.0' }).ele('widget'); // Set the root attributes From c68757a52cfbe55c40bb4a0203092fa2a862e785 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Mon, 24 Feb 2020 18:07:50 -0600 Subject: [PATCH 14/19] remove the xmlbuilder isopack and all references to it in the code --- packages/xmlbuilder/.gitignore | 1 - packages/xmlbuilder/.npm/package/.gitignore | 1 - packages/xmlbuilder/.npm/package/README | 7 - .../.npm/package/npm-shrinkwrap.json | 49 ------ packages/xmlbuilder/README.md | 5 - packages/xmlbuilder/package.js | 20 --- packages/xmlbuilder/xmlbuilder.js | 1 - packages/xmlbuilder/xmlbuilder_tests.js | 141 ------------------ tools/tool-env/isopackets.js | 23 ++- 9 files changed, 11 insertions(+), 237 deletions(-) delete mode 100644 packages/xmlbuilder/.gitignore delete mode 100644 packages/xmlbuilder/.npm/package/.gitignore delete mode 100644 packages/xmlbuilder/.npm/package/README delete mode 100644 packages/xmlbuilder/.npm/package/npm-shrinkwrap.json delete mode 100644 packages/xmlbuilder/README.md delete mode 100644 packages/xmlbuilder/package.js delete mode 100644 packages/xmlbuilder/xmlbuilder.js delete mode 100644 packages/xmlbuilder/xmlbuilder_tests.js diff --git a/packages/xmlbuilder/.gitignore b/packages/xmlbuilder/.gitignore deleted file mode 100644 index 677a6fc263..0000000000 --- a/packages/xmlbuilder/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.build* diff --git a/packages/xmlbuilder/.npm/package/.gitignore b/packages/xmlbuilder/.npm/package/.gitignore deleted file mode 100644 index 3c3629e647..0000000000 --- a/packages/xmlbuilder/.npm/package/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/packages/xmlbuilder/.npm/package/README b/packages/xmlbuilder/.npm/package/README deleted file mode 100644 index 3d492553a4..0000000000 --- a/packages/xmlbuilder/.npm/package/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory and the files immediately inside it are automatically generated -when you change this package's NPM dependencies. Commit the files in this -directory (npm-shrinkwrap.json, .gitignore, and this README) to source control -so that others run the same versions of sub-dependencies. - -You should NOT check in the node_modules directory that Meteor automatically -creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json b/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json deleted file mode 100644 index d661655a54..0000000000 --- a/packages/xmlbuilder/.npm/package/npm-shrinkwrap.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "lockfileVersion": 1, - "dependencies": { - "@oozcitak/dom": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.2.tgz", - "integrity": "sha512-HmpUeiqNZIXaV7/lvEK89w2g6VfQjqY355umhVK/pyTHZw9xINbSrfYIGBJbpli5hYmffHCFDRVVBNYhlYgPkw==" - }, - "@oozcitak/infra": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.5.tgz", - "integrity": "sha512-o+zZH7M6l5e3FaAWy3ojaPIVN5eusaYPrKm6MZQt0DKNdgXa2wDYExjpP0t/zx+GoQgQKzLu7cfD8rHCLt8JrQ==" - }, - "@oozcitak/url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.0.tgz", - "integrity": "sha512-LGrMeSxeLzsdaitxq3ZmBRVOrlRRQIgNNci6L0VRnOKlJFuRIkNm4B+BObXPCJA6JT5bEJtrrwjn30jueHJYZQ==", - "dependencies": { - "@oozcitak/infra": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.3.tgz", - "integrity": "sha512-9O2wxXGnRzy76O1XUxESxDGsXT5kzETJPvYbreO4mv6bqe1+YSuux2cZTagjJ/T4UfEwFJz5ixanOqB0QgYAag==", - "dependencies": { - "@oozcitak/util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.1.tgz", - "integrity": "sha512-dFwFqcKrQnJ2SapOmRD1nQWEZUtbtIy9Y6TyJquzsalWNJsKIPxmTI0KG6Ypyl8j7v89L2wixH9fQDNrF78hKg==" - } - } - }, - "@oozcitak/util": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.2.tgz", - "integrity": "sha512-4n8B1cWlJleSOSba5gxsMcN4tO8KkkcvXhNWW+ADqvq9Xj+Lrl9uCa90GRpjekqQJyt84aUX015DG81LFpZYXA==" - } - } - }, - "@oozcitak/util": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.0.0.tgz", - "integrity": "sha512-+9Hq6yuoq/3TRV/n/xcpydGBq2qN2/DEDMqNTG7rm95K6ZE2/YY/sPyx62+1n8QsE9O26e5M1URlXsk+AnN9Jw==" - }, - "xmlbuilder2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-1.3.0.tgz", - "integrity": "sha512-psOhoujlyalhUaIer1bgXCaDL424+tTcfZRDEGsD+Rydext6S/mlj2bNETNIUuRsOkJ8nMC72bB5idQeG/JvWg==" - } - } -} diff --git a/packages/xmlbuilder/README.md b/packages/xmlbuilder/README.md deleted file mode 100644 index 4d9480114a..0000000000 --- a/packages/xmlbuilder/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# xmlbuilder -[Source code of released version](https://github.com/meteor/meteor/tree/master/packages/xmlbuilder) | [Source code of development version](https://github.com/meteor/meteor/tree/devel/packages/xmlbuilder) -*** - -This is an internal Meteor package. \ No newline at end of file diff --git a/packages/xmlbuilder/package.js b/packages/xmlbuilder/package.js deleted file mode 100644 index f360c3eb03..0000000000 --- a/packages/xmlbuilder/package.js +++ /dev/null @@ -1,20 +0,0 @@ -Package.describe({ - summary: "An XML builder for node.js similar to java-xmlbuilder.", - version: '2.5.16' -}); - -Npm.depends({ - 'xmlbuilder2': '1.3.0' -}); - -Package.onUse(function (api) { - api.addFiles(['xmlbuilder.js'], 'server'); - - api.export('XmlBuilder', 'server'); -}); - -Package.onTest(function (api) { - api.use(['tinytest', 'xmlbuilder', 'underscore']); - - api.addFiles('xmlbuilder_tests.js', 'server'); -}); \ No newline at end of file diff --git a/packages/xmlbuilder/xmlbuilder.js b/packages/xmlbuilder/xmlbuilder.js deleted file mode 100644 index 8140d6b10a..0000000000 --- a/packages/xmlbuilder/xmlbuilder.js +++ /dev/null @@ -1 +0,0 @@ -XmlBuilder = Npm.require('xmlbuilder2'); diff --git a/packages/xmlbuilder/xmlbuilder_tests.js b/packages/xmlbuilder/xmlbuilder_tests.js deleted file mode 100644 index fe89d5430a..0000000000 --- a/packages/xmlbuilder/xmlbuilder_tests.js +++ /dev/null @@ -1,141 +0,0 @@ -// this test case mimics about 80 precent of the code used to build the -// config.xml file from the following file (meteor/tools/cordova/builder.js) -// and it exercises all the funcitons used from the xmlbuilder2 api -Tinytest.add("xmlbuilder - config.xml file generation", function (test) { - const expectedResult = `XmlBuilderTestThis is a Meteor test caseMeteor Developer`; - - const accessRules = { - 'tel:*': { type: 'intent' }, - 'geo:*': { type: 'intent' }, - 'mailto:*': { type: 'intent' }, - 'sms:*': { type: 'intent' }, - 'market:*': { type: 'intent' }, - 'itms:*': { type: 'intent' }, - 'itms-apps:*': { type: 'intent' }, - 'http://localhost': { type: 'navigation' } - }; - - const metadata = { - id: 'com.meteor.xmlbuilder_test', - version: '0.0.1', - author: 'Meteor Developer', - contentUrl: `http://localhost:3000/` - }; - - const additionalConfiguration = { - global: { - 'webviewbounce': false, - 'DisallowOverscroll': true - }, - platform: { - ios: {}, - android: {} - } - }; - - const custom = [``]; - let config = XmlBuilder.create({ version: '1.0' }).ele('widget'); - - // Set the root attributes - _.each({ - id: metadata.id, - version: metadata.version, - 'android-versionCode': '28', - 'ios-CFBundleVersion': null, - xmlns: 'http://www.w3.org/ns/widgets', - 'xmlns:cdv': 'http://cordova.apache.org/ns/1.0' - }, (value, key) => { - if (value) { - config.att(key, value); - } - }); - - // Set the metadata - config.ele('name').txt('XmlBuilderTest'); - config.ele('description').txt('This is a Meteor test case'); - config.ele('author', { - href: 'http://cordova.io', - email: 'dev@cordova.apache.org' - }).txt(metadata.author); - - // Set the additional global configuration preferences - _.each(additionalConfiguration.global, (value, key) => { - config.ele('preference', { - name: key, - value: value.toString() - }); - }); - - // Set custom tags into widget element - _.each(custom, elementSet => { - const tag = config.ele(elementSet); - }); - - config.ele('content', { src: metadata.contentUrl }); - - // Copy all the access rules - _.each(accessRules, (options, pattern) => { - const type = options.type; - options = _.omit(options, 'type'); - - if (type === 'intent') { - config.ele('allow-intent', { href: pattern }); - } else if (type === 'navigation') { - config.ele('allow-navigation', _.extend({ href: pattern }, options)); - } else { - config.ele('access', _.extend({ origin: pattern }, options)); - } - }); - - const platformElement = { - ios: config.ele('platform', { name: 'ios' }), - android: config.ele('platform', { name: 'android' }) - } - - // Set the additional platform-specific configuration preferences - _.each(additionalConfiguration.platform, (prefs, platform) => { - _.each(prefs, (value, key) => { - platformElement[platform].ele('preference', { - name: key, - value: value.toString() - }); - }); - }); - - const formattedXmlConfig = config.end(); - test.equal(formattedXmlConfig, expectedResult); -}); - -Tinytest.add("xmlbuilder - create() function", function (test) { - const expectedResult = ''; - - let widgetNode = XmlBuilder.create({ version: '1.0' }).ele('widget'); - let formattedXmlConfig = widgetNode.end(); - test.equal(formattedXmlConfig, expectedResult); - - widgetNode = XmlBuilder.create().ele('widget'); - formattedXmlConfig = widgetNode.end(); - test.equal(formattedXmlConfig, expectedResult); - -}); - -Tinytest.add("xmlbuilder - att() function", function (test) { - const expectedResult = ''; - - let config = XmlBuilder.create().ele('widget'); - config.att({ key: 'test' }); - let formattedXmlConfig = config.end(); - test.equal(formattedXmlConfig, expectedResult); -}); - -Tinytest.add("xmlbuilder - ele() function", function (test) { - let expectedResult = 'XmlBuilderTest'; - let config = XmlBuilder.create().ele('widget'); - config.ele('name').txt('XmlBuilderTest'); - - const formattedXmlConfig = config.end(); - test.equal(formattedXmlConfig, expectedResult); -}); - - - diff --git a/tools/tool-env/isopackets.js b/tools/tool-env/isopackets.js index e88ab878ac..f4df5c2882 100644 --- a/tools/tool-env/isopackets.js +++ b/tools/tool-env/isopackets.js @@ -66,7 +66,6 @@ export const ISOPACKETS = { // cordova-support 'boilerplate-generator', 'webapp-hashing', - 'xmlbuilder', // cordova-support, logging 'logging', // support for childProcess.sendMessage(topic, payload) @@ -116,13 +115,13 @@ export function loadIsopackage(packageName, isopacketName = "combined") { if (_.has(ISOPACKETS, isopacketName)) { throw Error("Can't load isopacket before it has been verified: " - + isopacketName); + + isopacketName); } throw Error("Unknown isopacket: " + isopacketName); }(); - if (! _.has(isopacket, packageName)) { + if (!_.has(isopacket, packageName)) { throw new Error("Unknown isopacket dependency: " + packageName); } @@ -144,7 +143,7 @@ export function ensureIsopacketsLoadable() { // If we're not running from checkout, then there's nothing to build and we // can declare that all isopackets are loadable. - if (! files.inCheckout()) { + if (!files.inCheckout()) { _.each(ISOPACKETS, function (packages, name) { loadedIsopackets[name] = null; }); @@ -167,17 +166,17 @@ export function ensureIsopacketsLoadable() { var isopacketRoot = isopacketPath(isopacketName); var existingBuildinfo = files.readJSONOrNull( files.pathJoin(isopacketRoot, 'isopacket-buildinfo.json')); - var needRebuild = ! existingBuildinfo; - if (! needRebuild && existingBuildinfo.builtBy !== compiler.BUILT_BY) { + var needRebuild = !existingBuildinfo; + if (!needRebuild && existingBuildinfo.builtBy !== compiler.BUILT_BY) { needRebuild = true; } - if (! needRebuild) { + if (!needRebuild) { var watchSet = watch.WatchSet.fromJSON(existingBuildinfo.watchSet); - if (! watch.isUpToDate(watchSet)) { + if (!watch.isUpToDate(watchSet)) { needRebuild = true; } } - if (! needRebuild) { + if (!needRebuild) { // Great, it's loadable without a rebuild. loadedIsopackets[isopacketName] = null; return; @@ -185,7 +184,7 @@ export function ensureIsopacketsLoadable() { // We're going to need to build! Make a catalog and loader if we haven't // yet. - if (! isopacketBuildContext) { + if (!isopacketBuildContext) { isopacketBuildContext = makeIsopacketBuildContext(); } @@ -209,7 +208,7 @@ export function ensureIsopacketsLoadable() { return; } - var builder = new Builder({outputPath: isopacketRoot}); + var builder = new Builder({ outputPath: isopacketRoot }); builder.writeJson('isopacket-buildinfo.json', { builtBy: compiler.BUILT_BY, watchSet: built.watchSet.toJSON() @@ -234,7 +233,7 @@ export function ensureIsopacketsLoadable() { // Returns a new all-local-packages catalog to be used for building isopackets. var newIsopacketBuildingCatalog = function () { - if (! files.inCheckout()) { + if (!files.inCheckout()) { throw Error("No need to build isopackets unless in checkout!"); } From 30fe5cfe13745944e4045db22c59a9860ace773c Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Tue, 25 Feb 2020 09:28:09 -0600 Subject: [PATCH 15/19] add xmlbuilder2 to the list of node packages to install with the dependency kit --- scripts/dev-bundle-tool-package.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 720f52d593..0da0319c36 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -62,7 +62,8 @@ var packageJson = { optimism: "0.11.3", "@wry/context": "0.4.4", 'lru-cache': '4.1.3', - "anser": "1.4.8" + "anser": "1.4.8", + 'xmlbuilder2': '1.3.0' } }; From a228aa746a4f7a60636db0de2dba9f4d3f3c0942 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Tue, 25 Feb 2020 11:52:10 -0600 Subject: [PATCH 16/19] moving the xmlbuilder isopack to the non-core folder since it is no longer being used --- packages/non-core/xmlbuilder/.gitignore | 1 + .../non-core/xmlbuilder/.npm/package/.gitignore | 1 + .../non-core/xmlbuilder/.npm/package/README | 7 +++++++ .../xmlbuilder/.npm/package/npm-shrinkwrap.json | 17 +++++++++++++++++ packages/non-core/xmlbuilder/README.md | 5 +++++ packages/non-core/xmlbuilder/package.js | 16 ++++++++++++++++ packages/non-core/xmlbuilder/xmlbuilder.js | 2 ++ 7 files changed, 49 insertions(+) create mode 100644 packages/non-core/xmlbuilder/.gitignore create mode 100644 packages/non-core/xmlbuilder/.npm/package/.gitignore create mode 100644 packages/non-core/xmlbuilder/.npm/package/README create mode 100644 packages/non-core/xmlbuilder/.npm/package/npm-shrinkwrap.json create mode 100644 packages/non-core/xmlbuilder/README.md create mode 100644 packages/non-core/xmlbuilder/package.js create mode 100644 packages/non-core/xmlbuilder/xmlbuilder.js diff --git a/packages/non-core/xmlbuilder/.gitignore b/packages/non-core/xmlbuilder/.gitignore new file mode 100644 index 0000000000..677a6fc263 --- /dev/null +++ b/packages/non-core/xmlbuilder/.gitignore @@ -0,0 +1 @@ +.build* diff --git a/packages/non-core/xmlbuilder/.npm/package/.gitignore b/packages/non-core/xmlbuilder/.npm/package/.gitignore new file mode 100644 index 0000000000..3c3629e647 --- /dev/null +++ b/packages/non-core/xmlbuilder/.npm/package/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/packages/non-core/xmlbuilder/.npm/package/README b/packages/non-core/xmlbuilder/.npm/package/README new file mode 100644 index 0000000000..3d492553a4 --- /dev/null +++ b/packages/non-core/xmlbuilder/.npm/package/README @@ -0,0 +1,7 @@ +This directory and the files immediately inside it are automatically generated +when you change this package's NPM dependencies. Commit the files in this +directory (npm-shrinkwrap.json, .gitignore, and this README) to source control +so that others run the same versions of sub-dependencies. + +You should NOT check in the node_modules directory that Meteor automatically +creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/non-core/xmlbuilder/.npm/package/npm-shrinkwrap.json b/packages/non-core/xmlbuilder/.npm/package/npm-shrinkwrap.json new file mode 100644 index 0000000000..965f7b6386 --- /dev/null +++ b/packages/non-core/xmlbuilder/.npm/package/npm-shrinkwrap.json @@ -0,0 +1,17 @@ +{ + "lockfileVersion": 1, + "dependencies": { + "xmlbuilder": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.4.tgz", + "integrity": "sha1-biqE2l33nhGrsKBbrS8KzBLjOJM=", + "dependencies": { + "lodash-node": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz", + "integrity": "sha1-6oL3sQDHM9GkKvdoAeUGEF4qgOw=" + } + } + } + } +} diff --git a/packages/non-core/xmlbuilder/README.md b/packages/non-core/xmlbuilder/README.md new file mode 100644 index 0000000000..4d9480114a --- /dev/null +++ b/packages/non-core/xmlbuilder/README.md @@ -0,0 +1,5 @@ +# xmlbuilder +[Source code of released version](https://github.com/meteor/meteor/tree/master/packages/xmlbuilder) | [Source code of development version](https://github.com/meteor/meteor/tree/devel/packages/xmlbuilder) +*** + +This is an internal Meteor package. \ No newline at end of file diff --git a/packages/non-core/xmlbuilder/package.js b/packages/non-core/xmlbuilder/package.js new file mode 100644 index 0000000000..305539606e --- /dev/null +++ b/packages/non-core/xmlbuilder/package.js @@ -0,0 +1,16 @@ +Package.describe({ + summary: "An XML builder for node.js similar to java-xmlbuilder.", + version: '2.5.15' +}); + +Npm.depends({ + 'xmlbuilder': '2.4.4' // XXX next time we update this to X.Y.Z, + // make the version above be X.Y.Z_0 so we + // don't accidentally unsync version numbers +}); + +Package.onUse(function (api) { + api.addFiles(['xmlbuilder.js'], 'server'); + + api.export('XmlBuilder', 'server'); +}); diff --git a/packages/non-core/xmlbuilder/xmlbuilder.js b/packages/non-core/xmlbuilder/xmlbuilder.js new file mode 100644 index 0000000000..65301bb0b2 --- /dev/null +++ b/packages/non-core/xmlbuilder/xmlbuilder.js @@ -0,0 +1,2 @@ +XmlBuilder = Npm.require('xmlbuilder'); + From ec8f5dd74e4d797b7041fd9ce7e9fd85d032aba7 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Tue, 25 Feb 2020 12:10:45 -0600 Subject: [PATCH 17/19] adding the xmlbuilder library back in to the license file because we have both in the project now. xmlbuilder is used in the non-core xmlbuilder isopack and xmlbuilder2 is used in the dev bundle --- LICENSES/MIT.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt index 03a8f3284d..ed63f27033 100644 --- a/LICENSES/MIT.txt +++ b/LICENSES/MIT.txt @@ -834,6 +834,13 @@ wrench: https://github.com/ryanmcgrath/wrench-js Copyright (c) 2010 Ryan McGrath +---------- ---------- +xmlbuilder: http://github.com/oozcitak/xmlbuilder-js +---------- ---------- + +Copyright (c) 2013 Ozgur Ozcitak + + ---------- xmlbuilder2: http://github.com/oozcitak/xmlbuilder2 ---------- From 709b7361615c08f2b45fc2f0b38d9924e94015d7 Mon Sep 17 00:00:00 2001 From: Brian Mulhall Date: Tue, 25 Feb 2020 12:29:47 -0600 Subject: [PATCH 18/19] revert this unneeded change to the license file --- LICENSES/MIT.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt index ed63f27033..cb76f8f928 100644 --- a/LICENSES/MIT.txt +++ b/LICENSES/MIT.txt @@ -834,9 +834,9 @@ wrench: https://github.com/ryanmcgrath/wrench-js Copyright (c) 2010 Ryan McGrath ----------- ---------- +---------- xmlbuilder: http://github.com/oozcitak/xmlbuilder-js ----------- ---------- +---------- Copyright (c) 2013 Ozgur Ozcitak From 41c20d683a5b5e8d686c7998e3f2ba361c5daafc Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 25 Feb 2020 15:54:16 -0500 Subject: [PATCH 19/19] Bump $BUNDLE_VERSION to 12.16.1.5 before rebuilding dev bundle. Version 12.16.1.4 has already been used on the release-1.10 branch. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index c1280507c7..276716845a 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=12.16.1.3 +BUNDLE_VERSION=12.16.1.5 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific.