Bandolier takes modules with dependencies specified using ES6 import/export statements and returns a single script that can run in an pre-ES2015 JavaScript environment.
Install via maven:
mvn installIf you need to bundle the dependencies into a single jar:
mvn compile assembly:singleRunning from the command line:
java -jar bandolier.jar path/to/file.jsCalling the static bundle method:
Script result = Bundler.bundle("/path/to/file.js");Alternatively, if you have the file's contents handy you can use bundleString:
Script result = Bundler.bundleString("import { x } from \"foo\"; console.log(x);");Both bundle and bundleString can be parameterized by an IResourceLoader (which tells the
bundler how to load a resource referred to by some path) and an IResolver (which tells the
bundler where to actually look for a resource referenced by some path). By default
FileSystemResolver and FileLoader are used. Also available are a NodeResolver that follows
node module resolving semantics and ClassResourceLoader for loading resources inside of jars.
- Open a Github issue with a description of your desired change. If one exists already, leave a message stating that you are working on it with the date you expect it to be complete.
- Fork this repo, and clone the forked repo.
- Build and test in your environment with
mvn compile test. - Create a feature branch. Make your changes. Add tests.
- Build and test in your environment with
mvn compile test. - Make a commit that includes the text "fixes #XX" where XX is the Github issue.
- Open a Pull Request on Github.
Copyright 2016 Shape Security, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.