Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
6f0940e
some refactoring to get a first try at file versioning in. Also moved…
May 6, 2013
dc1653c
compiled javascript
May 6, 2013
80acecf
removing some extra console logs
May 6, 2013
b06b8a5
setting variables in compilers module
May 6, 2013
03a5e65
read from relative directory
May 6, 2013
fa65946
new compilers module, inspired by http://blog.divshot.com/post/313367…
May 6, 2013
2ff3814
new javascript compile
May 6, 2013
179a069
update to version number and updated dependencies
May 6, 2013
6fba091
updated http-proxy module doesn't supply headers as a parameter to wr…
May 9, 2013
d99717d
versioning tweaks
May 9, 2013
3a6bd76
compiled javascript files
May 9, 2013
cc6c9ae
updating to 0.3.6
May 15, 2013
6e1f376
adding package.json version output to help command
May 15, 2013
88721f9
Merge remote-tracking branch 'origin/master' into version0_3
Jun 12, 2013
02f35d7
updated package information and dependencies
May 30, 2013
3f4a628
default patchRedirect to true
May 31, 2013
9327f2e
refactoring the server code out of the hem.coffee and into its own fi…
Jun 3, 2013
a374c5a
some more major refactoring, but work still to be done
Jun 5, 2013
2403124
fixing coffee typo
Jun 13, 2013
002abc6
more refactoring
Jun 17, 2013
2f01d8d
more refactoring fun, seems to be building correctly again
Jun 18, 2013
d97da8b
server works again, yay!
Jun 18, 2013
4a94999
some refactoring of server flow
Jun 18, 2013
b69076d
versioning is working again, double yay
Jun 18, 2013
5c4d06c
removing debug, just need info/verbose, also ability to turn off cons…
Jun 18, 2013
095ebb7
only minify/compress by switch, faster execution during development i…
Jun 18, 2013
03f0495
some minor changes to the way files are watched
Jun 18, 2013
a0d6ba1
make sure to write builds to file system during watch
Jun 18, 2013
ddc1d6f
make write to file system the default value for builds
Jun 18, 2013
a6db04f
starting refactoring of testing options
Jun 19, 2013
012132c
lots and lots and lots of changes, trying to get hem easier to config…
Jun 25, 2013
bdb7c19
building and server seem to be functional again
Jun 26, 2013
e7aa7af
handling the @after attribute a bit differently, allow array of strings
Jun 26, 2013
8ca6ae3
need to improve compile libs so that it only looks at compilable files
Jun 27, 2013
fc71565
updated readme
Jun 27, 2013
9b3658b
updated readme
Jun 27, 2013
f086c7c
updated readme
Jun 27, 2013
a5ba353
updated readme
Jun 27, 2013
821099d
updated readme
Jun 27, 2013
812925e
trying to deal with window paths
Jul 2, 2013
1a3fa11
some versioning refactoring, still not completely sold on approach ye…
Jul 2, 2013
7d095db
platform is function call
Jul 2, 2013
6c9f9d4
need compiled js file
Jul 2, 2013
22d54e8
debuggin windows issues
Jul 2, 2013
b57ed98
guess I can't do x.x.x.x versions
Jul 2, 2013
6c3145d
I am starting to really dislike windows
Jul 2, 2013
3e436f7
I think this should be the final windows change, famous last words..
Jul 2, 2013
a22e429
sigh..
Jul 2, 2013
3206100
I have a good feeling about this one
Jul 2, 2013
744f385
get rid of debugging statements
Jul 2, 2013
6438413
versioning can handle different paths inside file
Jul 2, 2013
0539d85
fixed issue with directories not redirecting with /
Jul 2, 2013
7f2ed46
make sure missing parent directories are created.
Jul 3, 2013
bddd2eb
more colors
Jul 10, 2013
21aa9b6
minor bug fixes and refactorings from master branch
Jul 16, 2013
b41f61d
not sure how that stuff got committed, perhaps a sign of sleep depriv…
Aug 8, 2013
7b941ba
fixing way the default port/host are handled
Aug 8, 2013
6884818
compiled js and version bump
Aug 8, 2013
53aedfa
leaving host blank as default so it will bind to both localhost and i…
Aug 12, 2013
7e356e7
updated packages to latest/greatest
Aug 21, 2013
4513810
removing compress option from stylus compiler, will compress at end o…
Aug 21, 2013
1a64973
make sure we only watch directories
Aug 21, 2013
0a85cbf
little bit cleaner error output
Aug 21, 2013
a207130
user uglifycss to minify css
Aug 21, 2013
b31d302
adding less to css compilers
Aug 21, 2013
1eac148
used wrong function call for uglifycss
Aug 21, 2013
dcc2132
needed to compile js
Aug 21, 2013
59d9dd2
redoing the css compile to work with dirs and individual files
Aug 21, 2013
e1400a9
bump version
Aug 21, 2013
02ee8ea
make sure we only look at files we can actuall require/compile
Aug 21, 2013
2eafae6
simplify code
Aug 21, 2013
53f4c40
fixed some issues with the hem watch feature
Aug 21, 2013
87443f2
additional tweaks to hem watch service
Aug 21, 2013
c837105
first take at loading local modules for the compiling
Aug 22, 2013
5bf0a9a
removing less
Aug 22, 2013
4e5ba54
removing most precompilers from hem, install locally
Aug 22, 2013
32e77a1
bump version
Aug 22, 2013
9a89c3b
ok, still need eco for the time being but will remove it soon
Aug 22, 2013
d35e052
some additional comments
Aug 22, 2013
750113b
goodbye eco
Aug 22, 2013
b7a9b7a
removing the stitch eco template file
Aug 22, 2013
411c89c
only have jade debug during server mode
Aug 22, 2013
18f31aa
fixed issue with minifyjs not being called correctly
Aug 26, 2013
cff1f7e
updated with better compiler errors
Aug 28, 2013
4da00e7
fixed issue with uglify, wasn't getting the minified string correctly.
Aug 28, 2013
e232284
better compile error handling for eco/jeco templates
Sep 25, 2013
49556a7
have hem look for local copy and then global.
Oct 3, 2013
1afb050
move logging to its own module
Oct 3, 2013
1729bbf
using logging module
Oct 3, 2013
2867d27
updated package dependencies to latest versions
Oct 3, 2013
521b275
learn to spall, I mean spell
Oct 3, 2013
1435c18
using logs module
Oct 3, 2013
75be79d
using log module
Oct 3, 2013
4eabb48
lots of refactoring going on
Oct 5, 2013
405ff9a
using 'src' instead of path, seems like a better name
Oct 5, 2013
dffc7db
lots of refactoring on the server/hem/package classes, opening door f…
Oct 7, 2013
db3facb
compiled js files
Oct 7, 2013
9b9ff7b
updated version, everything should be working at this point. On to mo…
Oct 7, 2013
0669be4
beginnings of event system, will expand at a later date.
Oct 7, 2013
de7b85d
using commonjs as config value instead of identifier
Oct 7, 2013
e552c09
using commonjs instead of identifier part 2
Oct 7, 2013
8b3a6b3
adding micro template compiler so we can store html files in assets
Oct 8, 2013
739aab5
adding jasmine files as assets that can be used to run tests
Oct 8, 2013
4b9b094
using fs-extra for directory/file functions
Oct 8, 2013
55474f8
moving stitch commonjs file to assets as a template to load
Oct 9, 2013
4658afb
helper method to copy files
Oct 9, 2013
8a843e2
updates to generate the test runner index.html file with correct paths
Oct 9, 2013
279d53b
updates assets for jasmine, eventually will have a file that lists th…
Oct 9, 2013
c7109ba
new compiled js files
Oct 9, 2013
d8c39b2
incorporate phantom runner into hem project
Oct 9, 2013
62e5a8c
use all apps when finding test dependencies as sometimes there may on…
Oct 9, 2013
045e222
tweaks to phantom test runner to allow different reporting styles
Oct 9, 2013
14d86ed
more tweaks to the phantom test runner, still need to get multiple te…
Oct 10, 2013
6e211f7
handle timeout conditions with a little more grace
Oct 10, 2013
1da10bc
making phantom an optionalDependency, if not present then open test f…
Oct 10, 2013
2d04651
fix issue with log require in versioning module
Oct 10, 2013
32fa489
setting up custom() method option for slug files that an instance of …
Oct 10, 2013
a86e234
updated readme
Oct 10, 2013
476cadd
ok, try this one more time, should hopefully fix the issues.
Oct 10, 2013
fef7b2a
better error message
Oct 10, 2013
ab1e804
setting incorrect home variable
Oct 10, 2013
a2577fe
making events its own module and adding watch event
Oct 11, 2013
ec9dbe4
adding event that returns the connect app used by the server
Oct 11, 2013
01381e2
have hem work with both json and modules.export.config
Oct 11, 2013
613bf4d
tweaks to testing configuration and some notes/comments on additional…
Oct 11, 2013
982a614
updated js files and version bump
Oct 11, 2013
a75dccc
making tests work in watch mode using events and async library
Oct 14, 2013
4a65d5c
print error instead of throwing an exception
Oct 14, 2013
7d75a39
adding some compile caching to hem in server/watch mode
Oct 22, 2013
b64e2c3
getting karma close to working and tweaking some of the hem default c…
Oct 24, 2013
16414a2
making it possible to bind to all ips
Oct 29, 2013
df4cfe6
bid spolling
Nov 5, 2013
a8b953c
fixing host command line option
Nov 13, 2013
b881b24
updated package #
Nov 13, 2013
60d3038
updating jade compiler to work with both old/new jade compile api
Jan 8, 2014
ba29198
fix command line argument switch
Jan 13, 2014
4c872db
compiled with latest coffeescript
Apr 10, 2014
6e16cfa
new versioning based off environment variable.
Apr 10, 2014
b7de477
updated package #
Apr 10, 2014
10dea25
increase phantom timeout
Apr 30, 2014
30db67e
refactoring of phantom/karma test runners, should be somewhat usable …
Apr 30, 2014
7af9923
updated package version and compiled js files
Apr 30, 2014
28f2c6d
added comments, updated modules
Apr 30, 2014
427533f
test index file not being generated correctly for windows
May 19, 2014
63b526c
don't overwrite test index file if it already exists
May 19, 2014
0a3ad0b
allowing junit reporter options
Jun 2, 2014
3c7b96b
added karma junit reporter
Jun 3, 2014
6d8cf8f
include suite name in junit format
Jun 3, 2014
a73ee7a
removing build as a step for running tests, use watch instead
Jul 2, 2014
7215ca4
updated the way coffeescript is required
cengebretson Jan 28, 2015
a226820
need to match route on lower case to hit all cases
cengebretson Jan 28, 2015
879020a
latest karma tweeks
cengebretson Jan 28, 2015
1c90513
updated to latest coffeescript and karma, bumped version number
cengebretson Jan 28, 2015
6e5e52c
latest compiled js files
cengebretson Jan 28, 2015
46c3c97
forgot one
cengebretson Jan 28, 2015
6ea03e9
some minor output tweaks
cengebretson Feb 11, 2015
f24b844
more effecient html templates
cengebretson Feb 19, 2015
4355ffc
another attempt at html minify
cengebretson Feb 19, 2015
c952778
make sure templates have their own compiler, was causing errors durin…
cengebretson Feb 19, 2015
a8e5963
going back to simple html whitespace remover
cengebretson Feb 20, 2015
94d2fa9
ok maybe time to get eat some surgery stuff
cengebretson Feb 20, 2015
b765ff5
nom nom nom food
cengebretson Feb 20, 2015
ee3bbfb
I should probably stick to scuplty art
cengebretson Feb 20, 2015
6480bc5
updated coffeescript to 1.9.1
cengebretson Feb 20, 2015
e215214
make sure build is always run before testing and better checks for au…
cengebretson May 6, 2015
c0187ba
updated examples and readme
cengebretson Nov 30, 2015
7e48d49
updates to readme
cengebretson Dec 1, 2015
d012e00
additional package updates
cengebretson Dec 4, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
263 changes: 159 additions & 104 deletions README.md

Large diffs are not rendered by default.

53 changes: 53 additions & 0 deletions assets/defaults/spine.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"root": "",
"route": "/",

"version": {
"type": "package",
"files": [ "public/index.html" ]
},

"css": {
"src": [
"css"
],
"target": "public/application.css"
},

"js": {
"commonjs": "require",
"libs": [
"lib"
],
"modules": [
"jqueryify",
"spine",
"spine/lib/local",
"spine/lib/list",
"spine/lib/ajax",
"spine/lib/route",
"spine/lib/manager",
"spine/lib/relation"
],
"src": [
"app"
],
"target": "public/application.js"
},

"static": {
"/": "public",
"/test": "test/public"
},

"test": {
"commonjs": "specs",
"libs": [],
"depends": [],
"src": [
"test/specs"
],
"target": "test/public/specs.js"
}
}

62 changes: 62 additions & 0 deletions assets/stitch.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
(function(/*! Stitch !*/) {
if (!this.<%=identifier%>) {
var modules = {}, cache = {}, require = function(name, root) {
var path = expand(root, name), indexPath = expand(path, './index'), module, fn;
module = cache[path] || cache[indexPath]
if (module) {
return module.exports;
} else if (fn = modules[path] || modules[path = indexPath]) {
module = {id: path, exports: {}};
try {
cache[path] = module;
fn(module.exports, function(name) {
return require(name, dirname(path));
}, module);
return module.exports;
} catch (err) {
delete cache[path];
throw err;
}
} else {
throw 'module ' + name + ' not found';
}
}, expand = function(root, name) {
var results = [], parts, part;
if (/^\.\.?(\\/|$)/.test(name)) {
parts = [root, name].join('/').split('/');
} else {
parts = name.split('/');
}
for (var i = 0, length = parts.length; i < length; i++) {
part = parts[i];
if (part == '..') {
results.pop();
} else if (part != '.' && part != '') {
results.push(part);
}
}
return results.join('/');
}, dirname = function(path) {
return path.split('/').slice(0, -1).join('/');
};
this.<%=identifier%> = function(name) {
return require(name, '');
}
this.<%=identifier%>.define = function(bundle) {
for (var key in bundle)
modules[key] = bundle[key];
};
this.<%=identifier%>.modules = modules;
this.<%=identifier%>.cache = cache;
}
return this.<%=identifier%>.define;
}).call(this)({
<%
var output = [];
for (var i = 0; i < modules.length; i++) {
output.push(JSON.stringify(modules[i].id) + ": function(exports, require, module) { " + modules[i].compile() + " }" );
}
%>
<%= output.join(',') %>
});

62 changes: 0 additions & 62 deletions assets/testacular.conf.js

This file was deleted.

101 changes: 101 additions & 0 deletions assets/testing/index.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf8" />
<title>Hem Test Runner</title>
</head>
<body>

<script type="text/javascript">
(function() {

function startTests() {

// create jasmine environment
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 250;

/**
Create the `HTMLReporter`, which Jasmine calls to provide results of each spec
and each suite. The Reporter is responsible for presenting results to the user.
*/
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);

/**
Delegate filtering of specs to the reporter. Allows for clicking on single suites
or specs in the results to only run a subset of the suite.
*/
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};

jasmineEnv.execute();
}

window.onload = function() {
var http = (location.protocol === "http:")
var urlsToLoad = []
var filesToLoad = []

// files to load
<% for (var i = 0; i < files.length; i++) { %>
urlsToLoad.push("<%= files[i].url %>")
filesToLoad.push("<%= files[i].path %>")
<% } %>

// determine if using http to load files
var files = http ? urlsToLoad : filesToLoad

// function to create elements to load css/js
var loadCssOrScript = function(position) {
// start tests if everything loaded
if (position >= files.length) {
startTests();
return;
}

// create document elements
var head = document.getElementsByTagName("HEAD").item(0);
var child;
var source = files[position];

// handle js
if (source.indexOf(".js") > -1) {

child = document.createElement("script");
child.type = "text/javascript";
child.src = source;

// handle css
} else {
// skip css files for phantomjs
if (navigator.userAgent.indexOf("PhantomJS") > -1) {
loadCssOrScript(++position);
return
}
child = document.createElement("link");
child.setAttribute("rel", "stylesheet")
child.type = "text/css";
child.href = source;
}

// handle next call
child.onload = function() {
loadCssOrScript(++position);
}

// add child to document to load
head.appendChild(child);

}

// dynamically load application and specs javascript files
loadCssOrScript(0)
};


})();
</script>
</body>
</html>
Loading