From 173fddd130be816f4075c367dd0caa19237b3bca Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sat, 30 Jan 2016 22:37:49 +0000 Subject: [PATCH 01/62] Update Vulcanize version in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0be3bf03..11c0df10 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "grunt-saucelabs": "^8.6.2", "mocha": "^2.3.4", "should": "^8.0.1", - "vulcanize": "^0.7.11" + "vulcanize": "^1.14.5" }, "scripts": { "test": "grunt test" From e448a229535cd3d2ef5f00be202c9317544322bb Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Thu, 27 Aug 2015 17:18:31 +0100 Subject: [PATCH 02/62] Update vulcanize script for Vulcanize 1.x --- scripts/vulcanize.js | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/scripts/vulcanize.js b/scripts/vulcanize.js index 34b0cd40..b7001cf5 100755 --- a/scripts/vulcanize.js +++ b/scripts/vulcanize.js @@ -5,13 +5,21 @@ const path = require('path'); const fs = require('fs'); const helpers = require('./helpers'); -const vulcanize = require('vulcanize'); +const Vulcanize = require('vulcanize'); let rootPath = '.'; if (process.argv.length > 2) { rootPath = process.argv[2]; } +const vulcanize = new Vulcanize({ + inlineScripts: true, + inlineCss: true, + excludes: [ + 'css/theme.css', + ], +}); + function mkdir(dir) { try { fs.mkdirSync(dir); @@ -22,29 +30,25 @@ function mkdir(dir) { } } -function runVulcanize(err) { - if (err) { - console.error(err); - process.exit(1); - } - vulcanize.processDocument(); +function vulcanizeFile(inputPath, outputPath) { + // Make sure output directory exists first. + mkdir(path.dirname(outputPath)); + + vulcanize.process(inputPath, (err, inlinedHtml) => { + if (err) { + console.error(err); + process.exit(1); + } + + fs.writeFileSync(outputPath, inlinedHtml); + }); } function vulcanizeRelease(releasePath) { const inputPath = path.join(rootPath, 'src', 'gui', 'html', 'index.html'); const outputPath = path.join(releasePath.path, 'resources', 'ui', 'index.html'); - // Make sure output directory exists first. - mkdir(path.dirname(outputPath)); - - vulcanize.setOptions({ - inline: true, - excludes: { - styles: ['css/theme.css'], - }, - output: outputPath, - input: inputPath, - }, runVulcanize); + vulcanizeFile(inputPath, outputPath); } helpers.getAppReleasePaths(rootPath).forEach(vulcanizeRelease); From 040b66278baf9744fabf62de31a1fc5b78106702 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sat, 30 Jan 2016 22:38:08 +0000 Subject: [PATCH 03/62] Update bower.json for Polymer 1.x --- bower.json | 62 +++++++++++++++++++----------------------------------- 1 file changed, 22 insertions(+), 40 deletions(-) diff --git a/bower.json b/bower.json index 060c2965..418c459e 100644 --- a/bower.json +++ b/bower.json @@ -7,46 +7,28 @@ "bower_components" ], "dependencies": { - "polymer": "Polymer/polymer#~0.5.0", - "paper-icon-button": "Polymer/paper-icon-button#~0.5.0", - "paper-dropdown-menu": "Polymer/paper-dropdown-menu#~0.5.0", - "core-toolbar": "Polymer/core-toolbar#~0.5.0", - "core-icons": "Polymer/core-icons#~0.5.0", - "core-label": "Polymer/core-label#~0.5.0", - "core-tooltip": "Polymer/core-tooltip#~0.5.0", - "core-drawer-panel": "Polymer/core-drawer-panel#~0.5.0", - "paper-input": "Polymer/paper-input#~0.5.0", - "paper-tabs": "Polymer/paper-tabs#~0.5.0", - "core-menu": "Polymer/core-menu#~0.5.0", - "paper-checkbox": "Polymer/paper-checkbox#~0.5.0", - "paper-dialog": "Polymer/paper-dialog#~0.5.0", - "paper-menu-button": "Polymer/paper-menu-button#~0.5.0", + "polymer": "Polymer/polymer#^1.1.0", + "iron-icons": "PolymerElements/iron-icons#^1.0.0", + "iron-list": "PolymerElements/iron-list#^1.0.0", + "iron-pages": "PolymerElements/iron-pages#^1.0.0", + "paper-button": "PolymerElements/paper-button#^1.0.0", + "paper-checkbox": "PolymerElements/paper-checkbox#^1.0.0", + "paper-dialog": "PolymerElements/paper-dialog#^1.0.0", + "paper-drawer-panel": "PolymerElements/paper-drawer-panel#^1.0.0", + "paper-dropdown-menu": "PolymerElements/paper-dropdown-menu#^1.0.0", + "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0", + "paper-input": "PolymerElements/paper-input#^1.0.0", + "paper-item": "PolymerElements/paper-item#^1.0.0", + "paper-menu": "PolymerElements/paper-menu#^1.0.0", + "paper-menu-button": "PolymerElements/paper-menu-button#^1.0.0", + "paper-progress": "PolymerElements/paper-progress#^1.0.0", + "paper-tabs": "PolymerElements/paper-tabs#^1.0.0", + "paper-toast": "PolymerElements/paper-toast#^1.0.0", + "paper-toggle-button": "PolymerElements/paper-toggle-button#^1.0.0", + "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0", + "paper-tooltip": "PolymerElements/paper-tooltip#^1.0.0", "Jed": "SlexAxton/Jed#a9d03e1bbca9211a8b29a93a298a7ee9ddb353f0", - "marked": "~0.3.2", - "paper-progress": "Polymer/paper-progress#~0.5.0", - "core-pages": "Polymer/core-pages#~0.5.1", - "paper-toast": "Polymer/paper-toast#~0.5.1", - "core-list": "WrinklyNinja/core-list#patched-for-loot", - "core-dropdown": "WrinklyNinja/core-dropdown#null-dimensions-positions-fix", - "jed-gettext-parser": "~1.0.0", - "paper-toggle-button": "Polymer/paper-toggle-button#~0.5.4", - "core-overlay": "WrinklyNinja/core-overlay#fix-focus-self-as-next" - }, - "resolutions": { - "polymer": "^0.5", - "core-icons": "^0.5", - "core-icon": "^0.5", - "core-collapse": "^0.5", - "core-focusable": "^0.5", - "core-icon-button": "^0.5", - "core-resizable": "^0.5", - "core-iconset-svg": "^0.5", - "core-dropdown": "null-dimensions-positions-fix", - "core-transition": "^0.5", - "core-overlay": "fix-focus-self-as-next", - "webcomponentsjs": "^0.7.18", - "core-iconset": "^0.5", - "core-selection": "^0.5", - "core-meta": "^0.5" + "jed-gettext-parser": "^1.0.0", + "marked": "^0.3.2" } } From f1437fb728007d32a8f59af66e3acc1735f8d031 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sun, 31 Jan 2016 11:20:07 +0000 Subject: [PATCH 04/62] Enable linting of JS in diff --git a/src/tests/gui/html/elements/test_loot-custom-icons.html b/src/tests/gui/html/elements/test_loot-custom-icons.html new file mode 100644 index 00000000..aaa29bda --- /dev/null +++ b/src/tests/gui/html/elements/test_loot-custom-icons.html @@ -0,0 +1,16 @@ + + + + test_loot-custom-icons.html + + + + + + + + + + + + From 544e316be747457a0b966077c7c5bfdb8486aa93 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sun, 31 Jan 2016 09:29:32 +0000 Subject: [PATCH 06/62] Update Vulcanize script for element tests The Vulcanize script can now build the UI, the element test files, or both, defaulting to the latter. The `mkdirp` package is used as it's the simplest way of getting recursive `mkdir`, ie. `mkdir -p`, to work. --- package.json | 1 + scripts/vulcanize.js | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4a517102..8be6274c 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "grunt-contrib-connect": "^0.11.2", "grunt-contrib-watch": "^0.6.1", "grunt-saucelabs": "^8.6.2", + "mkdirp": "^0.5.1", "mocha": "^2.3.4", "should": "^8.0.1", "vulcanize": "^1.14.5" diff --git a/scripts/vulcanize.js b/scripts/vulcanize.js index b7001cf5..4562bc25 100755 --- a/scripts/vulcanize.js +++ b/scripts/vulcanize.js @@ -6,9 +6,15 @@ const path = require('path'); const fs = require('fs'); const helpers = require('./helpers'); const Vulcanize = require('vulcanize'); +const mkdirp = require('mkdirp'); +// Initialise from command line parameters. let rootPath = '.'; -if (process.argv.length > 2) { +let buildType = 'ui'; +if (process.argv.length > 3) { + rootPath = process.argv[2]; + buildType = process.argv[3]; +} else if (process.argv.length > 2) { rootPath = process.argv[2]; } @@ -22,7 +28,7 @@ const vulcanize = new Vulcanize({ function mkdir(dir) { try { - fs.mkdirSync(dir); + mkdirp.sync(dir); } catch (e) { if (e.code !== 'EEXIST') { console.log(e); @@ -51,4 +57,26 @@ function vulcanizeRelease(releasePath) { vulcanizeFile(inputPath, outputPath); } -helpers.getAppReleasePaths(rootPath).forEach(vulcanizeRelease); +function vulcanizeTests(releasePath) { + const inputPath = path.join(rootPath, 'src', 'tests', 'gui', 'html', 'elements'); + const outputPath = path.join(releasePath.path, 'html_tests', 'elements'); + + const tests = [ + 'test_loot-custom-icons.html', + ]; + + tests.forEach((test) => { + vulcanizeFile(path.join(inputPath, test), path.join(outputPath, test)); + }); +} + +// Run the appropriate build(s). +const releasePaths = helpers.getAppReleasePaths(rootPath); + +if (buildType === 'ui' || buildType === 'all') { + releasePaths.forEach(vulcanizeRelease); +} + +if (buildType === 'tests' || buildType === 'all') { + releasePaths.forEach(vulcanizeTests); +} From e17113abeeebd0be42be064e410b72a600461864 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Fri, 28 Aug 2015 11:22:37 +0100 Subject: [PATCH 07/62] Update loot-dropdown-menu --- bower.json | 1 + scripts/vulcanize.js | 1 + src/gui/html/elements/loot-dropdown-menu.html | 100 +++++++++--------- .../elements/test_loot-dropdown-menu.html | 42 ++++++++ 4 files changed, 94 insertions(+), 50 deletions(-) create mode 100644 src/tests/gui/html/elements/test_loot-dropdown-menu.html diff --git a/bower.json b/bower.json index 418c459e..8ab6a081 100644 --- a/bower.json +++ b/bower.json @@ -19,6 +19,7 @@ "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0", "paper-input": "PolymerElements/paper-input#^1.0.0", "paper-item": "PolymerElements/paper-item#^1.0.0", + "paper-listbox": "PolymerElements/paper-listbox#^1.1.1", "paper-menu": "PolymerElements/paper-menu#^1.0.0", "paper-menu-button": "PolymerElements/paper-menu-button#^1.0.0", "paper-progress": "PolymerElements/paper-progress#^1.0.0", diff --git a/scripts/vulcanize.js b/scripts/vulcanize.js index 4562bc25..c9088725 100755 --- a/scripts/vulcanize.js +++ b/scripts/vulcanize.js @@ -63,6 +63,7 @@ function vulcanizeTests(releasePath) { const tests = [ 'test_loot-custom-icons.html', + 'test_loot-dropdown-menu.html', ]; tests.forEach((test) => { diff --git a/src/gui/html/elements/loot-dropdown-menu.html b/src/gui/html/elements/loot-dropdown-menu.html index 4eaa925e..e59ac5e5 100644 --- a/src/gui/html/elements/loot-dropdown-menu.html +++ b/src/gui/html/elements/loot-dropdown-menu.html @@ -8,58 +8,58 @@ it a