Clean up tests, resolve style differences, reduce upstream diff
This is in preparation for a PR, to reduce potential for merge conflicts with either my PR or others', since mine will modify a large amount of the main file.
This commit is contained in:
parent
565f9cf334
commit
3de01a1554
14 changed files with 1987 additions and 3578 deletions
297
Gruntfile.js
297
Gruntfile.js
|
|
@ -1,14 +1,11 @@
|
|||
/* eslint-env node */
|
||||
module.exports = function(grunt) {
|
||||
"use strict"
|
||||
var _ = require("lodash");
|
||||
var version = "0.4.0";
|
||||
|
||||
var _ = require("lodash")
|
||||
var version = "0.4.0"
|
||||
|
||||
var inputFolder = "./docs"
|
||||
var tempFolder = "./temp"
|
||||
var archiveFolder = "./archive"
|
||||
var outputFolder = "../mithril"
|
||||
var inputFolder = "./docs";
|
||||
var tempFolder = "./temp";
|
||||
var archiveFolder = "./archive";
|
||||
var outputFolder = "../mithril";
|
||||
|
||||
var guide = [
|
||||
"auto-redrawing",
|
||||
|
|
@ -25,7 +22,7 @@ module.exports = function(grunt) {
|
|||
"routing",
|
||||
"tools",
|
||||
"web-services"
|
||||
]
|
||||
];
|
||||
var api = [
|
||||
"change-log",
|
||||
"roadmap",
|
||||
|
|
@ -45,68 +42,53 @@ module.exports = function(grunt) {
|
|||
"mithril.trust",
|
||||
"mithril.withAttr",
|
||||
"mithril.xhr"
|
||||
]
|
||||
];
|
||||
|
||||
var md2htmlTasks = {}
|
||||
var md2htmlTasks = {};
|
||||
var makeTasks = function(layout, pages) {
|
||||
pages.map(function(name) {
|
||||
var src = inputFolder + "/" + name + ".md"
|
||||
var title
|
||||
if (grunt.file.exist(src)) {
|
||||
title = grunt.file.read(src)
|
||||
.split(/\n/)[0]
|
||||
.substring(3) + " - "
|
||||
} else {
|
||||
title = ""
|
||||
}
|
||||
var src = inputFolder + "/" + name + ".md";
|
||||
var title = (grunt.file.exists(src)) ? grunt.file.read(src).split(/\n/)[0].substring(3) + ' - ' : '';
|
||||
md2htmlTasks[name] = {
|
||||
options: {
|
||||
layout: inputFolder + "/layout/" + layout + ".html",
|
||||
templateData: { "topic": title }
|
||||
},
|
||||
options: {layout: inputFolder + "/layout/" + layout + ".html", templateData: { "topic": title }},
|
||||
files: [{src: [src], dest: tempFolder + "/" + name + ".html"}]
|
||||
}
|
||||
})
|
||||
}
|
||||
makeTasks("guide", guide)
|
||||
makeTasks("api", api)
|
||||
};
|
||||
makeTasks("guide", guide);
|
||||
makeTasks("api", api);
|
||||
|
||||
var sauceBrowsers = [
|
||||
{ browserName: "firefox", version: "19", platform: "XP" },
|
||||
var sauceBrowsers =[
|
||||
{ browserName: 'firefox', version: '19', platform: 'XP' },
|
||||
{ browserName: "internet explorer", platform: "XP", version: "6"},
|
||||
{ browserName: "safari", platform: "OS X 10.9", version: "7"},
|
||||
{ browserName: "iPad", platform: "OS X 10.9", version: "7.1"},
|
||||
{ browserName: "opera", platform: "Linux", version: "12"},
|
||||
{ browserName: "chrome", platform: "XP", version: "26"},
|
||||
{ browserName: "chrome", platform: "Windows 8", version: "26"}
|
||||
]
|
||||
];
|
||||
|
||||
var sauceOnTestComplete = function(result, callback) {
|
||||
var request = require("request")
|
||||
var request = require('request');
|
||||
|
||||
var user = process.env.SAUCE_USERNAME
|
||||
var pass = process.env.SAUCE_ACCESS_KEY
|
||||
var user = process.env.SAUCE_USERNAME;
|
||||
var pass = process.env.SAUCE_ACCESS_KEY;
|
||||
|
||||
request.put({
|
||||
url: [
|
||||
"https://saucelabs.com/rest/v1",
|
||||
user,
|
||||
"jobs",
|
||||
result.job_id
|
||||
].join("/"),
|
||||
url: ['https://saucelabs.com/rest/v1', user, 'jobs', result.job_id].join('/'),
|
||||
auth: { user: user, pass: pass },
|
||||
json: { passed: result.passed }
|
||||
}, function (error, response) {
|
||||
if (error) {
|
||||
callback(error)
|
||||
callback(error);
|
||||
} else if (response.statusCode !== 200) {
|
||||
callback(new Error("Unexpected response status: "
|
||||
+ response.statusCode + "\n "))
|
||||
callback(new Error('Unexpected response status: '
|
||||
+ response.statusCode + "\n "));
|
||||
} else {
|
||||
callback(null, result.passed)
|
||||
callback(null, result.passed);
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var sauceBaseOptions = {
|
||||
username: process.env.SAUCE_USERNAME,
|
||||
|
|
@ -115,164 +97,74 @@ module.exports = function(grunt) {
|
|||
browsers: sauceBrowsers,
|
||||
sauceConfig: {
|
||||
"record-video": false,
|
||||
"record-screenshots": false
|
||||
"record-screenshots": false,
|
||||
},
|
||||
build: process.env.TRAVIS_JOB_ID,
|
||||
onTestComplete: sauceOnTestComplete,
|
||||
tunnelTimeout: 5
|
||||
}
|
||||
tunnelTimeout: 5,
|
||||
};
|
||||
var sauceCustomOptions = {
|
||||
testname: "Mithril Custom Tests " + new Date().toJSON(),
|
||||
urls: ["http://127.0.0.1:8000/tests/index.html"]
|
||||
}
|
||||
_.assign(sauceCustomOptions, sauceBaseOptions)
|
||||
testname: "Mithril Custom Tests "+ new Date().toJSON(),
|
||||
urls: ["http://127.0.0.1:8000/tests/index.html"],
|
||||
};
|
||||
_.assign(sauceCustomOptions, sauceBaseOptions);
|
||||
var sauceQunitOptions = {
|
||||
testname: "qUnit Tests " + new Date().toJSON(),
|
||||
urls: ["http://127.0.0.1:8000/tests/e2e/test.html"]
|
||||
}
|
||||
_.assign(sauceQunitOptions, sauceBaseOptions)
|
||||
testname: "qUnit Tests "+ new Date().toJSON(),
|
||||
urls: ["http://127.0.0.1:8000/tests/e2e/test.html"],
|
||||
};
|
||||
_.assign(sauceQunitOptions, sauceBaseOptions);
|
||||
|
||||
var currentVersionArchiveFolder = archiveFolder + "/v" + version
|
||||
var currentVersionArchiveFolder = archiveFolder + "/v" + version;
|
||||
grunt.initConfig({
|
||||
md2html: md2htmlTasks,
|
||||
uglify: {
|
||||
options: {
|
||||
banner: [[
|
||||
"/*",
|
||||
"Mithril v" + version,
|
||||
"http://github.com/lhorie/mithril.js",
|
||||
"(c) Leo Horie",
|
||||
"License: MIT",
|
||||
"*/"
|
||||
].join("\n")],
|
||||
sourceMap: true
|
||||
},
|
||||
options: {banner: "/*\nMithril v" + version + "\nhttp://github.com/lhorie/mithril.js\n(c) Leo Horie\nLicense: MIT\n*/", sourceMap: true},
|
||||
mithril: {src: "mithril.js", dest: "mithril.min.js"}
|
||||
},
|
||||
concat: {
|
||||
test: {
|
||||
src: [
|
||||
"mithril.js",
|
||||
"./tests/test.js",
|
||||
"./tests/mock.js",
|
||||
"./tests/mithril-tests.js"
|
||||
],
|
||||
dest: currentVersionArchiveFolder + "/mithril-tests.js"
|
||||
}
|
||||
test: {src: ["mithril.js", "./tests/test.js", "./tests/mock.js", "./tests/mithril-tests.js"], dest: currentVersionArchiveFolder + "/mithril-tests.js"}
|
||||
},
|
||||
zip: {
|
||||
distribution: {
|
||||
cwd: currentVersionArchiveFolder + "/",
|
||||
src: [
|
||||
currentVersionArchiveFolder + "/mithril.min.js",
|
||||
currentVersionArchiveFolder + "/mithril.min.js.map",
|
||||
currentVersionArchiveFolder + "/mithril.js"
|
||||
],
|
||||
src: [currentVersionArchiveFolder + "/mithril.min.js", currentVersionArchiveFolder + "/mithril.min.js.map", currentVersionArchiveFolder + "/mithril.js"],
|
||||
dest: currentVersionArchiveFolder + "/mithril.min.zip"
|
||||
}
|
||||
},
|
||||
replace: {
|
||||
options: {
|
||||
force: true,
|
||||
patterns: [
|
||||
{match: /\.md/g, replacement: ".html"},
|
||||
{match: /\$version/g, replacement: version}
|
||||
]
|
||||
},
|
||||
links: {
|
||||
expand: true,
|
||||
flatten: true,
|
||||
src: [tempFolder + "/**/*.html"],
|
||||
dest: currentVersionArchiveFolder + "/"
|
||||
},
|
||||
index: {
|
||||
src: inputFolder + "/layout/index.html",
|
||||
dest: currentVersionArchiveFolder + "/index.html"
|
||||
},
|
||||
commonjs: {
|
||||
expand: true,
|
||||
flatten: true,
|
||||
src: [inputFolder + "/layout/*.json"],
|
||||
dest: currentVersionArchiveFolder
|
||||
},
|
||||
cdnjs: {
|
||||
src: "deploy/cdnjs-package.json",
|
||||
dest: "../cdnjs/ajax/libs/mithril/package.json"
|
||||
}
|
||||
options: {force: true, patterns: [{match: /\.md/g, replacement: ".html"}, {match: /\$version/g, replacement: version}]},
|
||||
links: {expand: true, flatten: true, src: [tempFolder + "/**/*.html"], dest: currentVersionArchiveFolder + "/"},
|
||||
index: {src: inputFolder + "/layout/index.html", dest: currentVersionArchiveFolder + "/index.html"},
|
||||
commonjs: {expand: true, flatten: true, src: [inputFolder + "/layout/*.json"], dest: currentVersionArchiveFolder},
|
||||
cdnjs: {src: "deploy/cdnjs-package.json", dest: "../cdnjs/ajax/libs/mithril/package.json"}
|
||||
},
|
||||
copy: {
|
||||
style: {
|
||||
src: inputFolder + "/layout/style.css",
|
||||
dest: currentVersionArchiveFolder + "/style.css"
|
||||
},
|
||||
pages: {
|
||||
src: inputFolder + "/layout/pages.json",
|
||||
dest: currentVersionArchiveFolder + "/pages.json"
|
||||
},
|
||||
lib: {
|
||||
expand: true,
|
||||
cwd: inputFolder + "/layout/lib/",
|
||||
src: "./**",
|
||||
dest: currentVersionArchiveFolder + "/lib/"
|
||||
},
|
||||
tools: {
|
||||
expand: true,
|
||||
cwd: inputFolder + "/layout/tools/",
|
||||
src: "./**",
|
||||
dest: currentVersionArchiveFolder + "/tools/"
|
||||
},
|
||||
comparisons: {
|
||||
expand: true,
|
||||
cwd: inputFolder + "/layout/comparisons/",
|
||||
src: "./**",
|
||||
dest: currentVersionArchiveFolder + "/comparisons/"
|
||||
},
|
||||
unminified: {
|
||||
src: "mithril.js",
|
||||
dest: currentVersionArchiveFolder + "/mithril.js"
|
||||
},
|
||||
minified: {
|
||||
src: "mithril.min.js",
|
||||
dest: currentVersionArchiveFolder + "/mithril.min.js"
|
||||
},
|
||||
readme: {
|
||||
src: "README.md",
|
||||
dest: currentVersionArchiveFolder + "/README.md"
|
||||
},
|
||||
map: {
|
||||
src: "mithril.min.js.map",
|
||||
dest: currentVersionArchiveFolder + "/mithril.min.js.map"
|
||||
},
|
||||
typescript: {
|
||||
src: "mithril.d.ts",
|
||||
dest: currentVersionArchiveFolder + "/mithril.d.ts"
|
||||
},
|
||||
publish: {
|
||||
expand: true,
|
||||
cwd: currentVersionArchiveFolder,
|
||||
src: "./**",
|
||||
dest: outputFolder
|
||||
},
|
||||
archive: {
|
||||
expand: true,
|
||||
cwd: currentVersionArchiveFolder,
|
||||
src: "./**",
|
||||
dest: outputFolder + "/archive/v" + version
|
||||
}
|
||||
style: {src: inputFolder + "/layout/style.css", dest: currentVersionArchiveFolder + "/style.css"},
|
||||
pages: {src: inputFolder + "/layout/pages.json", dest: currentVersionArchiveFolder + "/pages.json"},
|
||||
lib: {expand: true, cwd: inputFolder + "/layout/lib/", src: "./**", dest: currentVersionArchiveFolder + "/lib/"},
|
||||
tools: {expand: true, cwd: inputFolder + "/layout/tools/", src: "./**", dest: currentVersionArchiveFolder + "/tools/"},
|
||||
comparisons: {expand: true, cwd: inputFolder + "/layout/comparisons/", src: "./**", dest: currentVersionArchiveFolder + "/comparisons/"},
|
||||
unminified: {src: "mithril.js", dest: currentVersionArchiveFolder + "/mithril.js"},
|
||||
minified: {src: "mithril.min.js", dest: currentVersionArchiveFolder + "/mithril.min.js"},
|
||||
readme: {src: "README.md", dest: currentVersionArchiveFolder + "/README.md"},
|
||||
map: {src: "mithril.min.js.map", dest: currentVersionArchiveFolder + "/mithril.min.js.map"},
|
||||
typescript: {src: "mithril.d.ts", dest: currentVersionArchiveFolder + "/mithril.d.ts"},
|
||||
publish: {expand: true, cwd: currentVersionArchiveFolder, src: "./**", dest: outputFolder},
|
||||
archive: {expand: true, cwd: currentVersionArchiveFolder, src: "./**", dest: outputFolder + "/archive/v" + version},
|
||||
},
|
||||
execute: {
|
||||
tests: {src: [currentVersionArchiveFolder + "/mithril-tests.js"]}
|
||||
},
|
||||
qunit: {
|
||||
all: ["tests/e2e/**/*.html"]
|
||||
all: ['tests/e2e/**/*.html']
|
||||
},
|
||||
"saucelabs-custom": {
|
||||
all: {
|
||||
all:{
|
||||
options: sauceCustomOptions
|
||||
}
|
||||
},
|
||||
"saucelabs-qunit": {
|
||||
all: {
|
||||
all:{
|
||||
options: sauceQunitOptions
|
||||
}
|
||||
},
|
||||
|
|
@ -282,7 +174,7 @@ module.exports = function(grunt) {
|
|||
server: {
|
||||
options: {
|
||||
port: 8888,
|
||||
base: "."
|
||||
base: '.'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -294,45 +186,34 @@ module.exports = function(grunt) {
|
|||
default: {
|
||||
files: [{
|
||||
expand: true,
|
||||
src: ["mithril.js"],
|
||||
cwd: ".",
|
||||
dest: "."
|
||||
src: ['mithril.js'],
|
||||
cwd: '.',
|
||||
dest: '.'
|
||||
}]
|
||||
}
|
||||
},
|
||||
eslint: {
|
||||
target: [
|
||||
"**/*.js",
|
||||
"!node_modules/**",
|
||||
"!**/*.min.js",
|
||||
"!docs/layout/lib/**/*.js"
|
||||
]
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks("grunt-contrib-clean")
|
||||
grunt.loadNpmTasks("grunt-contrib-concat")
|
||||
grunt.loadNpmTasks("grunt-contrib-copy")
|
||||
grunt.loadNpmTasks("grunt-contrib-uglify")
|
||||
grunt.loadNpmTasks("grunt-execute")
|
||||
grunt.loadNpmTasks("grunt-md2html")
|
||||
grunt.loadNpmTasks("grunt-replace")
|
||||
grunt.loadNpmTasks("grunt-zip")
|
||||
grunt.loadNpmTasks("grunt-contrib-qunit")
|
||||
grunt.loadNpmTasks("grunt-contrib-connect")
|
||||
grunt.loadNpmTasks("grunt-saucelabs")
|
||||
grunt.loadNpmTasks("grunt-jsfmt")
|
||||
grunt.loadNpmTasks("grunt-eslint")
|
||||
grunt.loadNpmTasks("grunt-contrib-clean");
|
||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||
grunt.loadNpmTasks("grunt-contrib-copy");
|
||||
grunt.loadNpmTasks("grunt-contrib-uglify");
|
||||
grunt.loadNpmTasks('grunt-execute');
|
||||
grunt.loadNpmTasks("grunt-md2html");
|
||||
grunt.loadNpmTasks("grunt-replace");
|
||||
grunt.loadNpmTasks('grunt-zip');
|
||||
grunt.loadNpmTasks('grunt-contrib-qunit');
|
||||
grunt.loadNpmTasks('grunt-contrib-connect');
|
||||
grunt.loadNpmTasks('grunt-saucelabs');
|
||||
grunt.loadNpmTasks('grunt-jsfmt');
|
||||
|
||||
grunt.registerTask("build", [
|
||||
"test", "uglify", "zip", "md2html", "replace", "copy", "clean"])
|
||||
grunt.registerTask("testall", ["test", "teste2e"])
|
||||
grunt.registerTask("test", ["eslint", "concat", "execute"])
|
||||
grunt.registerTask("teste2e", ["connect", "qunit"])
|
||||
grunt.registerTask("default", ["build"])
|
||||
grunt.registerTask("build", ["test", "uglify", "zip", "md2html", "replace", "copy", "clean"]);
|
||||
grunt.registerTask("testall", ["test", "teste2e"]);
|
||||
grunt.registerTask("test", ["concat", "execute"]);
|
||||
grunt.registerTask('teste2e', ['connect', 'qunit']);
|
||||
grunt.registerTask("default", ["build"]);
|
||||
|
||||
grunt.registerTask("sauce-qunit", ["connect", "saucelabs-qunit"])
|
||||
grunt.registerTask("sauce-custom", ["connect", "saucelabs-custom"])
|
||||
grunt.registerTask("sauce-all", [
|
||||
"connect", "saucelabs-qunit", "saucelabs-custom"])
|
||||
}
|
||||
grunt.registerTask("sauce-qunit", ["connect", "saucelabs-qunit"]);
|
||||
grunt.registerTask("sauce-custom", ["connect", "saucelabs-custom"]);
|
||||
grunt.registerTask("sauce-all", ["connect", "saucelabs-qunit", "saucelabs-custom"]);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue