Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New build implementation with Grunt #892

Merged
merged 48 commits into from Oct 13, 2015
Merged

New build implementation with Grunt #892

merged 48 commits into from Oct 13, 2015

Conversation

kabel
Copy link
Contributor

@kabel kabel commented Oct 13, 2015

Moving away from the GNU make style building platform to Grunt. Because all of the building steps already incorporate Node, Grunt fits in nicely with our current build dependencies. This should greatly reduce the complexity of building the framework. To maintain full backwards compatibility with people that are already building with make, the Makefile has been retained with minimal configuration to redirect commands to the new build platform.

All JavaScript files will now be automatically minified through requirejs/uglify-js and copied to the compressed folder, so all previously tracked, minified files have been removed. If anyone was directly referencing these files by URL (which they never should have been) a 404 will now be returned.

All CSS loaded through JavaScript plugins will be embedded into the JavaScript files through requirejs. This saves quite a few network requests.

This also updates a number of jQuery plugins to their latest version from upstream and patches them to work with our module loader.

Replaces various shell, perl/php, and Makefile scripts with Grunt or
NodeJS scripts that handle all of the build. The dependencies for
building have been greatly reduced by consolidating to a single tool.
The README has been updated to reflect this change.

A side-effect of this rewrite is an improvement to the smudge/clean
keyword filters. Regardless of where you build from, the version number
keywords should always be replaced consistently.
The main submodules will declare the necessary dependencies that need to
be loaded and initialized.
No more document.write
Both of these features are covered by the build process and module
loader.
All scripts will be built/minified and place in a special folder.
All jQuery dependent function will properly require jQuery prior to use
instead of wrapping in LoadJQuery.
They will be built differently in Grunt and embedded into the JS files
that use them.
This will catch all dependencies prefixes like "css!"
execSync shim provided through npm module.
This will allow the fonts to show while printing, drastically improving
the font stacks when people print.
Updates the find-node-or-install script from upstream.
Adds a dependency target to Makefile to ensure the grunt environment is
properly installed.
This fixes issues with CodeSniffer complaining that the inputs are
missing labels. The labels are claimed by the jQuery UI library upon
initialization and have alternate ARIA attributes
kabel added a commit that referenced this pull request Oct 13, 2015
New build implementation with Grunt
@kabel kabel merged commit 59e073b into unl:develop Oct 13, 2015
@kabel kabel deleted the new-build branch February 7, 2017 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant