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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.