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

Conversation

Projects
None yet
1 participant
@kabel
Contributor

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.

kabel added some commits Aug 31, 2015

Rewrite build system for Grunt
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.
Split the main module into proper, separate submodules with deps
The main submodules will declare the necessary dependencies that need to
be loaded and initialized.
Modernize the debug loader script
No more document.write
Remove references to "min" module loading and loadJQuery function
Both of these features are covered by the build process and module
loader.
Enable loading script resources through the build folder
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.
Move all JS loaded less files into the scripts dir
They will be built differently in Grunt and embedded into the JS files
that use them.
Enable require-css plugin in main configuration
This will catch all dependencies prefixes like "css!"

kabel added some commits Sep 8, 2015

Expand support to NodeJS v0.10.0
execSync shim provided through npm module.
Enable cloud typography sheets for "all" media
This will allow the fonts to show while printing, drastically improving
the font stacks when people print.
Ensure full Makefile backwards compatibility
Updates the find-node-or-install script from upstream.
Adds a dependency target to Makefile to ensure the grunt environment is
properly installed.
Add title attributes to hidden jQuery UI inputs
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

Merge pull request #892 from kabel/new-build
New build implementation with Grunt

@kabel kabel merged commit 59e073b into unl:develop Oct 13, 2015

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@kabel kabel deleted the kabel:new-build branch Feb 7, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment