Skip to content

Commit a363b5a

Browse files
durrankangas
authored andcommitted
INT-1246 Templatize jade templates
INT-1246 eslint: ignore templatize-generated file Generate templates before check script Fixing tests local and remote Use xvfb-maybe (cherry picked from commit 52d814c)
1 parent d20ac4b commit a363b5a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+147
-196
lines changed

.eslintignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Ignore scripts/templatize.js generated file
2+
src/app/templates.js
3+

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ node_modules
66
.idea/
77
*.iml
88
.cache*
9-
9+
src/app/templates.js
1010
src/connect/static-connect.html
1111
report.json
12+
.user-data/

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,11 @@
2727
"prestart": "node scripts/prestart.js",
2828
"start": "node scripts/start.js",
2929
"//": "Run only the fast unit tests",
30+
"pretest": "rm -rf .user-data && node scripts/templatize.js",
3031
"test": "xvfb-maybe node scripts/test.js",
3132
"prepublish": "node scripts/prepublish.js",
3233
"postuninstall": "node scripts/postuninstall.js",
34+
"precheck": "node scripts/templatize.js",
3335
"check": "mongodb-js-precommit ./src/app/*.js ./src/app/**/**/*.js ./src/{app/**/*.js,main/**/*.js} ./{scripts,test}/*.js",
3436
"ci": "npm run test",
3537
"clean": "npm run postuninstall",
@@ -71,6 +73,7 @@
7173
"get-object-path": "azer/get-object-path",
7274
"highlight.js": "^8.9.1",
7375
"jade": "^1.11.0",
76+
"@lukekarrys/jade-runtime": "^1.11.1",
7477
"jquery": "^2.1.4",
7578
"keytar": "mongodb-js/node-keytar#node-pre-gyp",
7679
"less": "^2.6.1",
@@ -80,11 +83,11 @@
8083
"marky-mark": "^1.2.1",
8184
"moment": "^2.10.6",
8285
"mongodb-collection-model": "^0.1.1",
83-
"mongodb-connection-model": "^4.0.0",
86+
"mongodb-connection-model": "^4.0.2",
8487
"mongodb-data-service": "^0.0.11",
8588
"mongodb-database-model": "^0.1.2",
8689
"mongodb-extended-json": "^1.6.0",
87-
"mongodb-instance-model": "^2.1.7",
90+
"mongodb-instance-model": "^3.0.0",
8891
"mongodb-js-metrics": "^1.0.0",
8992
"mongodb-language-model": "^0.3.3",
9093
"mongodb-ns": "^1.0.3",
@@ -126,6 +129,7 @@
126129
"mongodb-runner": "^3.1.15",
127130
"semver": "^5.1.0",
128131
"spectron": "^0.34.1",
132+
"templatizer": "^2.0.3",
129133
"which": "^1.2.0",
130134
"xvfb-maybe": "^0.1.3"
131135
},

scripts/prepublish.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ var run = require('electron-installer-run');
5050
var license = require('electron-license');
5151
var createCLI = require('mongodb-js-cli');
5252
var config = require('./config');
53+
var generateTemplates = require('./templatize');
5354

5455
/**
5556
* TODO (imlucas) Document and use yargs environment variable support.
@@ -376,6 +377,7 @@ function main() {
376377
writeVersionFile,
377378
transformPackageJson,
378379
installDependencies,
380+
generateTemplates,
379381
removeDevelopmentFiles,
380382
createApplicationAsar,
381383
createApplicationZip,

scripts/prestart.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ var format = require('util').format;
3636
var run = require('electron-installer-run');
3737
var checkPython = require('check-python');
3838
var async = require('async');
39+
var generateTemplates = require('./templatize');
3940

4041
function checkNpmAndNodejs(done) {
4142
run('npm', ['version', '--json', '--loglevel', 'error'], {
@@ -77,7 +78,8 @@ function main() {
7778
cli.spinner('verifying current environment meets requirements');
7879
async.series([
7980
checkPython,
80-
checkNpmAndNodejs
81+
checkNpmAndNodejs,
82+
generateTemplates
8183
], function(err) {
8284
cli.abortIfError(err);
8385
cli.debug('Environment verified as sane!');

scripts/templatize.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
var templatizer = require('templatizer');
2+
var path = require('path');
3+
var createCLI = require('mongodb-js-cli');
4+
var cli = createCLI('mongodb-compass:scripts:templatize');
5+
6+
function generateTemplates(done) {
7+
var appdir = path.join(__dirname, '..', 'src', 'app');
8+
templatizer(appdir, path.join(appdir, 'templates.js'), done);
9+
}
10+
11+
module.exports = generateTemplates;
12+
13+
function main() {
14+
generateTemplates(function() {
15+
cli.debug('Generated jade template functions.');
16+
});
17+
}
18+
19+
/**
20+
* ## Main
21+
*/
22+
if (cli.argv.$0 && cli.argv.$0.indexOf('templatize.js') > -1) {
23+
main();
24+
}

src/app/collection-stats/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
var AmpersandView = require('ampersand-view');
22
var numeral = require('numeral');
3-
var jade = require('jade');
4-
var path = require('path');
53

6-
var indexTemplate = jade.compileFile(path.resolve(__dirname, 'index.jade'));
4+
var indexTemplate = require('../templates')['collection-stats'].index;
75

86
var CollectionStatsView = AmpersandView.extend({
97
bindings: {

src/app/connect/authentication.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@
66
var AuthenticationOptionCollection = require('./models/authentication-option-collection');
77

88
var InputView = require('./input-view');
9-
var jade = require('jade');
10-
var path = require('path');
11-
12-
var inputTemplate = jade.compileFile(path.resolve(__dirname, 'input-default.jade'));
139
var _ = require('lodash');
1410

11+
var inputTemplate = require('../templates').connect['input-default'];
12+
1513
var NONE = {
1614
_id: 'NONE',
1715
title: 'None',

src/app/connect/connect-form-view.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ var authOptions = require('./authentication');
55
var sslOptions = require('./ssl');
66
var FilteredCollection = require('ampersand-filtered-subcollection');
77
// var debug = require('debug')('mongodb-compass:connect:connect-form-view');
8-
var jade = require('jade');
9-
var path = require('path');
108

11-
var inputTemplate = jade.compileFile(path.resolve(__dirname, 'input-default.jade'));
12-
var selectTemplate = jade.compileFile(path.resolve(__dirname, 'select-default.jade'));
9+
var inputTemplate = require('../templates').connect['input-default'];
10+
var selectTemplate = require('../templates').connect['select-default'];
1311

1412
// create proxy collections that only contains the enabled auth options
1513
var enabledAuthOptions = new FilteredCollection(authOptions, {

src/app/connect/filereader-view.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ var dialog = remote.dialog;
66
var BrowserWindow = remote.BrowserWindow;
77
var format = require('util').format;
88
var bindings = require('ampersand-dom-bindings');
9-
var jade = require('jade');
109
var path = require('path');
1110

12-
var fileReaderTemplate = jade.compileFile(path.resolve(__dirname, 'filereader-default.jade'));
11+
var fileReaderTemplate = require('../templates').connect['filereader-default'];
1312
var assert = require('assert');
1413

1514
// var debug = require('debug')('mongodb-compass:connect:filereader-view');

0 commit comments

Comments
 (0)