####Requirements:
-
Scalable module system. Ability to easily create and maintain modules/components for use in projects.
-
Base boilerplate simplified & stripped down to bare essentials.
-
JavaScript based. This gives any frontend dev the ability to contribute easily if they so desire.
-
Dependency management without kludging up project repos. Config files and whatnot should be checked into the repo, actual node modules or other dependencies, should not.
-
Easily configurable. All config files should live at
resources/config
and be named well. Ideal formats:.js
(in the form of Objects) or.json
.
####Features:
-
Placeholder find/replace. Mainly during project setup, the ability to replace placeholder content, with meaningful values based on user input. I.e. renaming a
__namespace__
folder, or including lists of JS files. -
Build-time templating. Allow build scripts to update templates, or specific files with generated output, i.e. a list of minified js files.
I agree with most of these.
Nit: Should jake tasks have a *.jake file extension for clarity? Will node interpret files ending in .jake?
They all live within the
resources/tasks
dir is this not enough separation? Jake namespaces are subfolders in that tasks dir, i.e.resources/tasks/build
the Jakefile automatically searches the dirs/files inside tasks and namespaces them accordingly.We can load in custom extensions via node, just not sure it's necessary in this case?